TradeChartist Range Bands ™TradeChartist Range Bands is an exceptionally well designed Entry/Exit indicator that plots fluid Range Bands and dynamic Support/Resistance levels on chart, along with trade entries by using both trend following and mean reversion principles.
===================================================================================================================
How does ™TradeChartist Range Bands work?
The Indicator plots Range Bands with Upper, Lower and Mean, calculated using trading models that use both Trend Following and Mean Reversion principles . It is the Range Bands that decide the trade Entries as the breakouts above upper band generates long entries and the breakouts below the lower band generates the short entries.
The Range Bands Type (Automatic, Aggressive or Normal) can be chosen from the settings. Default is Automatic and it uses Aggressive for non 24 hr markets and Normal for 24 hr markets like Cryptocurrencies.
The width of the Range Bands can be changed using the Range Multiplier from the settings. Default is 1.618 , minimum value is 0.618 and maximum value is 2.0.
The frequency of the Trade Signals depends on both Range Bands type and Range Multiplier. So it is worth spending some time to test the indicator based on these 2 factors on the asset traded, to maximise the profit potential by optimising the type and multiplier value.
In addition to the Range Bands, the indicator also plots Dynamic Support and Resistance bands that are more sensitive to price action and helps the user determine growing support/resistance which is indicated by coloured dots. These dots normally appear when the Support or Resistance stays at the same level for a few bars.
The expansion and contraction of the Support and Resistance bands also help in visualising the price volatility, and an extremely narrow squeeze of these levels within the Range Bands normally signals a lucrative market move. This is usually followed by a breakout from the bands and will be signalled by the Trade Entry plots (BUY and SELL).
The Dynamic Support and Resistance levels can be enabled or disabled from the settings. The fill between these dynamic levels helps the user to visualise the Bull and Bear strength/power. This fill can also be disabled from the settings if not required.
The indicator has a nice Fibonacci levels generator companion that helps spot near support and resistance levels using Fibonacci Retracement tool.
There are 3 types of Fib plots that can be chosen from the settings - Auto-Fibs, Fibs based on Lookback, Fibs based on Price Input .
The Auto-Fibs feature is used as default and it automatically plots fib retracement based on nearby significant high/low (highest from previous up and down trends). This is normally based on nearby trade entries too. Occasionally, during choppy markets/sideways movement, the range of these levels can be quite small and if close price exceeds the 4.618 fib level, one of the other Fib plot options can be used. Alternatively, Plot fibs from current high/low can also be used.
Fibs based on lookback can be used by choosing the number of candles or days lookback to help the indicator automatically find the high and low of the period to generate fib levels. Similarly, Fibs based on price input requires, user to manually enter the high and low price points for the indicator to generate fib levels based on user input.
The indicator has two colour schemes for the Dynamic Support/Resistance fill and bar colours. The coloured bars and the fill will help visualise the price trend. This can be changed or disabled from the settings.
The Fib levels can be disabled by unchecking lines and labels from the styles tab of indicator settings.
Long and Short entry Alerts can be created by using Once Per Bar Close .
The indicator does not repaint. Alerts may display potential repaint warning, but this is because the code uses bar index for fib labels. For confidence in the indicator, it can be tested using bar replay to make sure the real-time and bar replay trade entries and plots stay on the same bar/timestamp.
The different elements of the indicator are shown below in the chart.
===================================================================================================================
™TradeChartist Range Bands can also be connected to ™TradeChartist Plug and Trade to generate Targets, Stop Loss Plot etc. and other alerts can also be created. Use Range Bands Trend Identifier to connect as an Oscillatory Signal to Plug and Trade. Example chart shown below.
===================================================================================================================
Example charts:
1. ADA-USDT 4hr chart using Aggressive type and 1.618 Range Multiplier
2. ADA-USDT 4hr chart using Normal type and 1.618 Range Multiplier
3. XAU-USD 15m chart using Normal type and 1.618 Range Multiplier - Fibs based on 3 days lookback
4. DJI 4hr chart using Normal type and 2.0 Range Multiplier
5. GBP-USD 15m chart using Normal type and 1.618 Range Multiplier
6. LINK-USDT 1hr chart using Normal type and 1.236 Range Multiplier
===================================================================================================================
Best Practice: Test with different settings first using Paper Trades before trading with real money
===================================================================================================================
This is not a free to use indicator. Get in touch with me (PM me directly if you would like trial access to test the indicator)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
Search in scripts for "the script"
TradeChartist Transformer ™TradeChartist Transformer is an extremely useful indicator that transforms any indicator plot, Oscillatory or Non-Oscillatory into Support/Resistance levels, thereby generating trade entries on Price chart.
How does ™TradeChartist Transformer work?
1. Connect any external indicator plot to Transformer by choosing it from the Transformer's Plug Indicator Here dropdown from the settings.
2. Choose whether the connected plot is Oscillatory or Non-Oscillatory from Indicator Type .
3. If connected indicator is an oscillator, enter the values for Transformer to generate Trade Entries. For example, if the connected Indicator is RSI, user can define RSI level 60 for BUY entries and RSI level 40 for SELL entries. For most oscillators, the value is 0 which is the default value.
4. There are two types of Trade Entries, one based on Fail/breach of Nearby Support/Resistance and the other based on Fail/breach of Ultimate Support/Resistance plotted by Transformer. For Higher Time-Frames like Daily, Fail/breach of Nearby S/R entry type will ensure early trade entries. This could vary from indicator to indicator and a thorough testing/observation on timeframe traded using paper trades is highly recommended before trading with real money.
5. Once Steps 1-4 are complete, BUY and SELL plots based on above will be plotted by Transformer on Price chart.
6. BUY and SELL plots are also decided by an ATR (Average True Range) condition + Indicator plot acting as filter itself along with fail/breach of Support/Resistance, as this helps minimise unproductive trade signals.
7. Enabling Dynamic Support/Resistance plots moving Support/Resistance levels for each bar. For most assets/timeframes, this doesn't alter the Trade entries.
8. Bar Colors and Profit Taking Bars can be enables from settings as these help identify the trend visually and also help recommend bars where profit taking is recommended.
9. Alerts can be created for Long and Short entries by using Once Per Bar Close as Alert Frequency. Entries are generated on Real time bars as close price fails Support or breaches Resistance. It is recommended to wait for bar close before taking a position based on Transformer Trade Entries.
10. Trade Entries or Transformer plots don't repaint. This can be verified using Bar Replay by confirming real time plots with historical plots. Also, when creating alerts, there will be no Alert Warning for repainting as the code doesn't use Security function or other functions that cause potential repainting.
===================================================================================================================
™TradeChartist Transformer can also be connected to ™TradeChartist Plug and Trade to generate Targets, Stop Loss Plot etc. and other alerts can also be created. Example chart shown below - Transformer connected to RSI to generate BUYs when RSI > 60 and SELLs when RSI < 40, connected to Plug and Trade.
===================================================================================================================
Example Charts:
1. CCI - (CCI>100 - Bullish and CCI<-100 - Bearish) connected to Transformer - BTC 1hr chart
2. Chaikin Money Flow with default values connected to Transformer - BTC 1hr chart
3. EMA connected to Transformer- BTC Daily chart
4. Awesome Oscillator connected to Transformer - GBPUSD Daily Chart
5. Ichimoku Cloud Conversion Line connected to Transformer - USOIL 1hr chart
===================================================================================================================
Best Practice: Test with different settings first using Paper Trades before trading with real money
===================================================================================================================
This is not a free to use indicator. Get in touch with me (PM me directly if you would like trial access to test the indicator)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
TradeChartist TrendStalker - Market Bias Indicator™TradeChartist TrendStalker helps visualise the Market Bias through 3 different Plot types and also displays Trend Direction Identifier (Green, Red and Orange square blocks) that can be connected to ™TradeChartist Plug and Trade to generate Trade entries, Targets, StopLoss and create alerts based on performance on the chosen timeframe. The three plot types are as below.
1. Market Bias Strength Oscillator
Plots true strength of Market Bias - helps determine if Market is Bullish/Bearish overall for the asset on chart TF.
2. Market Bias Detector - Range Based
Displays TrendStalker plots stalking the Market Bias based on Range the Market is expecting to gain/lose from the asset on the Chart Timeframe. Change in Market Bias can be easily seen through the Convergence/Divergence of the TrendStalker plots.
3. Market Bias Detector - Price
Displays TrendStalker plots stalking the Market Bias based on Price for the asset on the Chart Timeframe. Change in Market Bias can be easily seen through the Convergence/Divergence of the TrendStalker plots.
Note: Trend Direction Identifier for Trade entries will be the same for Market Bias Detector plots, but differs from Market Bias Strength Oscillator.
Note: Trend Direction Identifier plots orange squares when its detecting a potential change in trend and its recommended to close some/most of the position or move Stop Loss to protect profit/reduce risk. Once the orange squares turn back into green/red squares, it signals safe re-entry.
Green squares - Bullish Trend
Red Squares - Bearish Trend
Orange Squares - Potential change in Market Bias
===================================================================================================================
TrendStalker Cool Extras
Option to paint Background Color
Option to enable Take Profit bar recommendation (Works only with Market Bias Strength Oscillator)
Option to paint Price Bars using Market Bias Strength
Alerts can be created for Long/Short Entry/Re-entry and Long/Short SOS signals (Orange squares). For all other alerts, ™TradeChartist Plug and Trade can be used.
BTC 1hr Chart with TrendStalker Extras
===================================================================================================================
BTC 1hr Chart with TrendStalker connected to ™TradeChartist Plug and Trade
===================================================================================================================
This is not a free to use indicator. Get in touch with me (PM me directly if you would like trial access to test the indicator)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
Bar Balance [LucF]Bar Balance extracts the number of up, down and neutral intrabars contained in each chart bar, revealing information on the strength of price movement. It can display stacked columns representing raw up/down/neutral intrabar counts, or an up/down balance line which can be calculated and visualized in many different ways.
WARNING: This is an analysis tool that works on historical bars only. It does not show any realtime information, and thus cannot be used to issue alerts or for automated trading. When realtime bars elapse, the indicator will require a browser refresh, a change to its Inputs or to the chart's timeframe/symbol to recalculate and display information on those elapsed bars. Once a trader understands this, the indicator can be used advantageously to make discretionary trading decisions.
Traders used to work with my Delta Volume Columns Pro will feel right at home in this indicator's Inputs . It has lots of options, allowing it to be used in many different ways. If you value the bar balance information this indicator mines, I hope you will find the time required to master the use of Bar Balance well worth the investment.
█ OVERVIEW
The indicator has two modes: Columns and Line .
Columns
• In Columns mode you can display stacked Up/Down/Neutral columns.
• The "Up" section represents the count of intrabars where `close > open`, "Down" where `close < open` and "Neutral" where `close = open`.
• The Up section always appears above the centerline, the Down section below. The Neutral section overlaps the centerline, split halfway above and below it.
The Up and Down sections start where the Neutral section ends, when there is one.
• The Up and Down sections can be colored independently using 7 different methods.
• The signal line plotted in Line mode can also be displayed in Columns mode.
Line
• Displays a single balance line using a zero centerline.
• A variable number of independent methods can be used to calculate the line (6), determine its color (5), and color the fill (5).
You can thus evaluate the state of 3 different components with this single line.
• A "Divergence Levels" feature will use the line to automatically draw expanding levels on divergence events.
Features available in both modes
• The color of all components can be selected from 15 base colors, with 16 gradient levels used for each base color in the indicator's gradients.
• A zero line can show a 6-state aggregate value of the three main volume balance modes.
• The background can be colored using any of 5 different methods.
• Chart bars can be colored using 5 different methods.
• Divergence and large neutral count ratio events can be shown in either Columns or Line mode, calculated in one of 4 different methods.
• Markers on 6 different conditions can be displayed.
█ CONCEPTS
Intrabar inspection
Intrabar inspection means the indicator looks at lower timeframe bars ( intrabars ) making up a given chart bar to gather its information. If your chart is on a 1-hour timeframe and the intrabar resolution determined by the indicator is 5 minutes, then 12 intrabars will be analyzed for each chart bar and the count of up/down/neutral intrabars among those will be tallied.
Bar Balances and calculation methods
The indicator uses a variety of methods to evaluate bar balance and to derive other calculations from them:
1. Balance on Bar : Uses the relative importance of instant Up and Down counts on the bar.
2. Balance Averages : Uses the difference between the EMAs of Up and Down counts.
3. Balance Momentum : Starts by calculating, separately for both Up and Down counts, the difference between the same EMAs used in Balance Averages and an SMA of double the period used for the EMAs. These differences are then aggregated and finally, a bounded momentum of that aggregate is calculated using RSI.
4. Markers Bias : It sums the bull/bear occurrences of the four previous markers over a user-defined period (the default is 14).
5. Combined Balances : This is the aggregate of the instant bull/bear bias of the three main bar balances.
6. Dual Up/Down Averages : This is a display mode showing the EMA calculated for each of the Up and Down counts.
Interpretation of neutral intrabars
What do neutral intrabars mean? When price does not change during a bar, it can be because there is simply no interest in the market, or because of a perfect balance between buyers and sellers. The latter being more improbable, Bar Balance assumes that neutral bars reveal a lack of interest, which entails uncertainty. That is the reason why the option is provided to interpret ratios of neutral intrabars greater than 50% as divergences. It is also the rationale behind the option to dampen signal lines on the inverse ratio of neutral intrabars, so that zero intrabars do not affect the signal, and progressively larger proportions of neutral intrabars will reduce the signal's amplitude, as the balance calcs using the up/down counts lose significance. The impact of the dampening will vary with markets. Weaker markets such as cryptos will often contain greater numbers of neutral intrabars, so dampening the Line in that sector will have a greater impact than in more liquid markets.
█ FEATURES
1 — Columns
• While the size of the Up/Down columns always represents their respective importance on the bar, their coloring mode is independent. The default setup uses a standard coloring mode where the Up/Down columns over/under the zero line are always in the bull/bear color with a higher intensity for the winning side. Six other coloring modes allow you to pack more information in the columns. When choosing to color the top columns using a bull/bear gradient on Balance Averages, for example, you will end up with bull/bear colored tops. In order for the color of the bottom columns to continue to show the instant bar balance, you can then choose the "Up/Down Ratio on Bar — Dual Solid Colors" coloring mode to make those bars the color of the winning side for that bar.
• Line mode shows only the line, but Columns mode allows displaying the line along with it. If the scale of the line is different than that of the scale of the columns, the line will often appear flat. Traders may find even a flat line useful as its bull/bear colors will be easily distinguishable.
2 — Line
• The default setup for Line mode uses a calculation on "Balance Momentum", with a fill on the longer-term "Balance Averages" and a line color based on the "Markers Bias". With the background set on "Line vs Divergence Levels" and the zero line on the hard-coded "Combined Bar Balances", you have access to five distinct sources of information at a glance, to which you can add divergences, divergences levels and chart bar coloring. This provides powerful potential in displaying bar balance information.
• When no columns are displayed, Line mode can show the full scale of whichever line you choose to calculate because the columns' scale no longer interferes with the line's scale.
• Note that when "Balance on Bar" is selected, the Neutral count is also displayed as a ratio of the balance line. This is the only instance where the Neutral count is displayed in Line mode.
• The "Dual Up/Down Averages" is an exception as it displays two lines: one average for the Up counts and another for the Down counts. This mode will be most useful when Columns are also displayed, as it provides a reference for the top and bottom columns.
3 — Zero Line
The zero line can be colored using two methods, both based on the Combined Balances, i.e., the aggregate of the instant bull/bear bias of the three main bar balances.
• In "Six-state Dual Color Gradient" mode, a dot appears on every bar. Its color reflects the bull/bear state of the Combined Balances, and the dot's brightness reflects the tally of balance biases.
• In "Dual Solid Colors (All Bull/All Bear Only)" a dot only appears when all three balances are either bullish or bearish. The resulting pattern is identical to that of Marker 1.
4 — Divergences
• Divergences are displayed as a small circle at the top of the scale. Four different types of divergence events can be detected. Divergences occur whenever the bull/bear bias of the method used diverges with the bar's price direction.
• An option allows you to include in divergence events instances where the count of neutral intrabars exceeds 50% of the total intrabar count.
• The divergence levels are dynamic levels that automatically build from the line's values on divergence events. On consecutive divergences, the levels will expand, creating a channel. This implementation of the divergence levels corresponds to my view that divergences indicate anomalies, hesitations, points of uncertainty if you will. It excludes any association of a pre-determined bullish/bearish bias to divergences. Accordingly, the levels merely take note of divergence events and mark those points in time with levels. Traders then have a reference point from which they can evaluate further movement. The bull/bear/neutral colors used to plot the levels are also congruent with this view in that they are determined by price's position relative to the levels, which is how I think divergences can be put to the most effective use.
5 — Background
• The background can show a bull/bear gradient on four different calculations. You can adjust its brightness to make its visual importance proportional to how you use it in your analysis.
6 — Chart bars
• Chart bars can be colored using five different methods.
• You have the option of emptying the body of bars where volume does not increase, as does my TLD indicator, the idea behind this being that movement on bars where volume does not increase is less relevant.
7 — Intrabar Resolution
You can choose between three modes. Two of them are automatic and one is manual:
a) Fast, Longer history, Auto-Steps (~12 intrabars) : Optimized for speed and deeper history. Uses an average minimum of 12 intrabars.
b) More Precise, Shorter History Auto-Steps (~24 intrabars) : Uses finer intrabar resolution. It is slower and provides less history. Uses an average minimum of 24 intrabars.
c) Fixed : Uses the fixed resolution of your choice.
Auto-Steps calculations vary for 24/7 and conventional markets in order to achieve the proper target of minimum intrabars.
You can choose to view the intrabar resolution currently used to calculate delta volume. It is the default.
The proper selection of the intrabar resolution is important. It must achieve maximal granularity to produce precise results while not unduly slowing down calculations, or worse, causing runtime errors.
8 — Markers
Six markers are available:
1. Combined Balances Agreement : All three Bar Balances are either bullish or bearish.
2. Up or Down % Agrees With Bar : An up marker will appear when the percentage of up intrabars in an up chart bar is greater than the specified percentage. Conditions mirror to down bars.
3. Divergence confirmations By Price : One of the four types of balance calculations can be used to detect divergences with price. Confirmations occur when the bar following the divergence confirms the balance bias. Note that the divergence events used here do not include neutral intrabar events.
4. Balance Transitions : Bull/bear transitions of the selected balance.
5. Markers Bias Transitions : Bull/bear transitions of the Markers Bias.
6. Divergence Confirmations By Line : Marks points where the line first breaches a divergence level.
Markers appear when the condition is detected, without delay. Since nothing is plotted in realtime, markers do not appear on the realtime bar.
9 — Settings
• Two modes can be selected to dampen the line on the ratio of neutral intrabars.
• A distinct weight can be attributed to the count of the latter half of intrabars, on the assumption that later intrabars may be more important in determining the outcome of chart bars.
• Allows control over the periods of the different moving averages used in calculations.
• The default periods used for the various calculations define the following hierarchy from slow to fast:
Balance Averages: 50,
Balance Momentum: 20,
Dual Up/Down Averages: 20,
Marker Bias: 10.
█ LIMITATIONS
• This script uses a special characteristic of the `security()` function allowing the inspection of intrabars—which is not officially supported by TradingView.
• The method used does not work on the realtime bar—only on historical bars.
• The indicator only works on some chart resolutions: 3, 5, 10, 15 and 30 minutes, 1, 2, 4, 6, and 12 hours, 1 day, 1 week and 1 month. The script’s code can be modified to run on other resolutions, but chart resolutions must be divisible by the lower resolution used for intrabars and the stepping mechanism could require adaptation.
• When using the "Line vs Divergence Levels — Dual Color Gradient" color mode to fill the line, background or chart bars, keep in mind that a line calculation mode must be defined for it to work, as it determines gradients on the movement of the line relative to divergence levels. If the line is hidden, it will not work.
• When the difference between the chart’s resolution and the intrabar resolution is too great, runtime errors will occur. The Auto-Steps selection mechanisms should avoid this.
• Alerts do not work reliably when `security()` is used at intrabar resolutions. Accordingly, no alerts are configured in the indicator.
• The color model used in the indicator provides for fancy visuals that come at a price; when you change values in Inputs , it can take 20 seconds for the changes to materialize. Luckily, once your color setup is complete, the color model does not have a large performance impact, as in normal operation the `security()` calls will become the most important factor in determining response time. Also, once in a while a runtime error will occur when you change inputs. Just making another change will usually bring the indicator back up.
█ RAMBLINGS
Is this thing useful?
I'll let you decide. Bar Balance acts somewhat like an X-Ray on bars. The intrabars it analyzes are no secret; one can simply change the chart's resolution to see the same intrabars the indicator uses. What the indicator brings to traders is the precise count of up/down/neutral intrabars and, more importantly, the calculations it derives from them to present the information in a way that can make it easier to use in trading decisions.
How reliable is Bar Balance information?
By the same token that an up bar does not guarantee that more up bars will follow, future price movements cannot be inferred from the mere count of up/down/neutral intrabars. Price movement during any chart bar for which, let's say, 12 intrabars are analyzed, could be due to only one of those intrabars. One can thus easily see how only relying on bar balance information could be very misleading. The rationale behind Bar Balance is that when the information mined for multiple chart bars is aggregated, it can provide insight into the history behind chart bars, and thus some bias as to the strength of movements. An up chart bar where 11/12 intrabars are also up is assumed to be stronger than the same up bar where only 2/12 intrabars are up. This logic is not bulletproof, and sometimes Bar Balance will stray. Also, keep in mind that balance lines do not represent price momentum as RSI would. Bar Balance calculations have no idea where price is. Their perspective, like that of any historian, is very limited, constrained that it is to the narrow universe of up/down/neutral intrabar counts. You will thus see instances where price is moving up while Balance Momentum, for example, is moving down. When Bar Balance performs as intended, this indicates that the rally is weakening, which does necessarily imply that price will reverse. Occasionally, price will merrily continue to advance on weakening strength.
Divergences
Most of the divergence detection methods used here rely on a difference between the bias of a calculation involving a multi-bar average and a given bar's price direction. When using "Bar Balance on Bar" however, only the bar's balance and price movement are used. This is the default mode.
As usual, divergences are points of interest because they reveal imbalances, which may or may not become turning points. I do not share the overwhelming enthusiasm traders have for the purported ability of bullish/bearish divergences to indicate imminent reversals.
Superfluity
In "The Bed of Procrustes", Nassim Nicholas Taleb writes: To bankrupt a fool, give him information . Bar Balance can display lots of information. While learning to use a new indicator inevitably requires an adaptation period where we put it through its paces and try out all its options, once you have become used to Bar Balance and decide to adopt it, rigorously eliminate the components you don't use and configure the remaining ones so their visual prominence reflects their relative importance in your analysis. I tried to provide flexible options for traders to control this indicator's visuals for that exact reason—not for window dressing.
█ NOTES
For traders
• To avoid misleading traders who don't read script descriptions, the indicator shows nothing in the realtime bar.
• The Data Window shows key values for the indicator.
• All gradients used in this indicator determine their brightness intensities using advances/declines in the signal—not their relative position in a fixed scale.
• Note that because of the way gradients are optimized internally, changing their brightness will sometimes require bringing down the value a few steps before you see an impact.
• Because this indicator does not use volume, it will work on all markets.
For coders
• For those interested in gradients, this script uses an advanced version of the Advance/Decline gradient function from the PineCoders Color Gradient (16 colors) Framework . It allows more precise control over the range, steps and min/max values of the gradients.
• I use the PineCoders Coding Conventions for Pine to write my scripts.
• I used functions modified from the PineCoders MTF Selection Framework for the selection of timeframes.
█ THANKS TO:
— alexgrover who helped me think through the dampening method used to attenuate signal lines on high ratios of neutral intrabars.
— A guy called Kuan who commented on a Backtest Rookies presentation of their Volume Profile indicator . The technique I use to inspect intrabars is derived from Kuan's code.
— theheirophant , my partner in the exploration of the sometimes weird abysses of `security()`’s behavior at intrabar resolutions.
— midtownsk8rguy , my brilliant companion in mining the depths of Pine graphics. He is also the co-author of the PineCoders Color Gradient Frameworks .
TradeChartist MTF RSI Spotter™TradeChartist MTF RSI Spotter is an elegant Multi Timeframe RSI tool that helps spot price trends using visually engaging and appealing RSI plots and backgrounds compared to the basic RSI plot. Also the Bull and the Bear background fills + HTF RSI based background fills are highly useful for traders who like to visually understand areas of entry and exit based on RSI .
What does ™TradeChartist MTF RSI Spotter do?
Plots RSI with visually spottable colors for Bull and Bear zones (Green and Red) with optional background fill.
Plots RMA based on User specified length.
Plots user preferred HTF RSI on same chart as chart TF - HTF resolution from indicator settings drop-down must be used.
Fills Bull and Bear zone colors based on HTF based RSI movement.
Spots Regular RSI Bullish and Bearish Divergences.
Plots RSI color candles on main chart based on Upper and Lower RSI band.
Plots RSI based on RSI smoothing (1 for Regular RSI without smoothing) and Heikin Ashi RSI if opted from indicator settings.
This indicator works like a dream when used with other indicators for confirmation of Trends.
Note 1: Divergences don't work to trader's expectations all the time. It is a great indicator but has to be used with caution and entries must be confirmed using another indicator like Volume , Trend, fundamentals, market sentiment etc. They can't be used on their own to decide entry and exit.
Note 2: Bull and Bear RMA with chart TF RSI should be used for confirmation and not as a standalone indicator for entry and exit.
Example charts
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
Backtesting & Trading Engine [PineCoders]The PineCoders Backtesting and Trading Engine is a sophisticated framework with hybrid code that can run as a study to generate alerts for automated or discretionary trading while simultaneously providing backtest results. It can also easily be converted to a TradingView strategy in order to run TV backtesting. The Engine comes with many built-in strats for entries, filters, stops and exits, but you can also add you own.
If, like any self-respecting strategy modeler should, you spend a reasonable amount of time constantly researching new strategies and tinkering, our hope is that the Engine will become your inseparable go-to tool to test the validity of your creations, as once your tests are conclusive, you will be able to run this code as a study to generate the alerts required to put it in real-world use, whether for discretionary trading or to interface with an execution bot/app. You may also find the backtesting results the Engine produces in study mode enough for your needs and spend most of your time there, only occasionally converting to strategy mode in order to backtest using TV backtesting.
As you will quickly grasp when you bring up this script’s Settings, this is a complex tool. While you will be able to see results very quickly by just putting it on a chart and using its built-in strategies, in order to reap the full benefits of the PineCoders Engine, you will need to invest the time required to understand the subtleties involved in putting all its potential into play.
Disclaimer: use the Engine at your own risk.
Before we delve in more detail, here’s a bird’s eye view of the Engine’s features:
More than 40 built-in strategies,
Customizable components,
Coupling with your own external indicator,
Simple conversion from Study to Strategy modes,
Post-Exit analysis to search for alternate trade outcomes,
Use of the Data Window to show detailed bar by bar trade information and global statistics, including some not provided by TV backtesting,
Plotting of reminders and generation of alerts on in-trade events.
By combining your own strats to the built-in strats supplied with the Engine, and then tuning the numerous options and parameters in the Inputs dialog box, you will be able to play what-if scenarios from an infinite number of permutations.
USE CASES
You have written an indicator that provides an entry strat but it’s missing other components like a filter and a stop strategy. You add a plot in your indicator that respects the Engine’s External Signal Protocol, connect it to the Engine by simply selecting your indicator’s plot name in the Engine’s Settings/Inputs and then run tests on different combinations of entry stops, in-trade stops and profit taking strats to find out which one produces the best results with your entry strat.
You are building a complex strategy that you will want to run as an indicator generating alerts to be sent to a third-party execution bot. You insert your code in the Engine’s modules and leverage its trade management code to quickly move your strategy into production.
You have many different filters and want to explore results using them separately or in combination. Integrate the filter code in the Engine and run through different permutations or hook up your filtering through the external input and control your filter combos from your indicator.
You are tweaking the parameters of your entry, filter or stop strat. You integrate it in the Engine and evaluate its performance using the Engine’s statistics.
You always wondered what results a random entry strat would yield on your markets. You use the Engine’s built-in random entry strat and test it using different combinations of filters, stop and exit strats.
You want to evaluate the impact of fees and slippage on your strategy. You use the Engine’s inputs to play with different values and get immediate feedback in the detailed numbers provided in the Data Window.
You just want to inspect the individual trades your strategy generates. You include it in the Engine and then inspect trades visually on your charts, looking at the numbers in the Data Window as you move your cursor around.
You have never written a production-grade strategy and you want to learn how. Inspect the code in the Engine; you will find essential components typical of what is being used in actual trading systems.
You have run your system for a while and have compiled actual slippage information and your broker/exchange has updated his fees schedule. You enter the information in the Engine and run it on your markets to see the impact this has on your results.
FEATURES
Before going into the detail of the Inputs and the Data Window numbers, here’s a more detailed overview of the Engine’s features.
Built-in strats
The engine comes with more than 40 pre-coded strategies for the following standard system components:
Entries,
Filters,
Entry stops,
2 stage in-trade stops with kick-in rules,
Pyramiding rules,
Hard exits.
While some of the filter and stop strats provided may be useful in production-quality systems, you will not devise crazy profit-generating systems using only the entry strats supplied; that part is still up to you, as will be finding the elusive combination of components that makes winning systems. The Engine will, however, provide you with a solid foundation where all the trade management nitty-gritty is handled for you. By binding your custom strats to the Engine, you will be able to build reliable systems of the best quality currently allowed on the TV platform.
On-chart trade information
As you move over the bars in a trade, you will see trade numbers in the Data Window change at each bar. The engine calculates the P&L at every bar, including slippage and fees that would be incurred were the trade exited at that bar’s close. If the trade includes pyramided entries, those will be taken into account as well, although for those, final fees and slippage are only calculated at the trade’s exit.
You can also see on-chart markers for the entry level, stop positions, in-trade special events and entries/exits (you will want to disable these when using the Engine in strategy mode to see TV backtesting results).
Customization
You can couple your own strats to the Engine in two ways:
1. By inserting your own code in the Engine’s different modules. The modular design should enable you to do so with minimal effort by following the instructions in the code.
2. By linking an external indicator to the engine. After making the proper selections in the engine’s Settings and providing values respecting the engine’s protocol, your external indicator can, when the Engine is used in Indicator mode only:
Tell the engine when to enter long or short trades, but let the engine’s in-trade stop and exit strats manage the exits,
Signal both entries and exits,
Provide an entry stop along with your entry signal,
Filter other entry signals generated by any of the engine’s entry strats.
Conversion from strategy to study
TradingView strategies are required to backtest using the TradingView backtesting feature, but if you want to generate alerts with your script, whether for automated trading or just to trigger alerts that you will use in discretionary trading, your code has to run as a study since, for the time being, strategies can’t generate alerts. From hereon we will use indicator as a synonym for study.
Unless you want to maintain two code bases, you will need hybrid code that easily flips between strategy and indicator modes, and your code will need to restrict its use of strategy() calls and their arguments if it’s going to be able to run both as an indicator and a strategy using the same trade logic. That’s one of the benefits of using this Engine. Once you will have entered your own strats in the Engine, it will be a matter of commenting/uncommenting only four lines of code to flip between indicator and strategy modes in a matter of seconds.
Additionally, even when running in Indicator mode, the Engine will still provide you with precious numbers on your individual trades and global results, some of which are not available with normal TradingView backtesting.
Post-Exit Analysis for alternate outcomes (PEA)
While typical backtesting shows results of trade outcomes, PEA focuses on what could have happened after the exit. The intention is to help traders get an idea of the opportunity/risk in the bars following the trade in order to evaluate if their exit strategies are too aggressive or conservative.
After a trade is exited, the Engine’s PEA module continues analyzing outcomes for a user-defined quantity of bars. It identifies the maximum opportunity and risk available in that space, and calculates the drawdown required to reach the highest opportunity level post-exit, while recording the number of bars to that point.
Typically, if you can’t find opportunity greater than 1X past your trade using a few different reasonable lengths of PEA, your strategy is doing pretty good at capturing opportunity. Remember that 100% of opportunity is never capturable. If, however, PEA was finding post-trade maximum opportunity of 3 or 4X with average drawdowns of 0.3 to those areas, this could be a clue revealing your system is exiting trades prematurely. To analyze PEA numbers, you can uncomment complete sets of plots in the Plot module to reveal detailed global and individual PEA numbers.
Statistics
The Engine provides stats on your trades that TV backtesting does not provide, such as:
Average Profitability Per Trade (APPT), aka statistical expectancy, a crucial value.
APPT per bar,
Average stop size,
Traded volume .
It also shows you on a trade-by-trade basis, on-going individual trade results and data.
In-trade events
In-trade events can plot reminders and trigger alerts when they occur. The built-in events are:
Price approaching stop,
Possible tops/bottoms,
Large stop movement (for discretionary trading where stop is moved manually),
Large price movements.
Slippage and Fees
Even when running in indicator mode, the Engine allows for slippage and fees to be included in the logic and test results.
Alerts
The alert creation mechanism allows you to configure alerts on any combination of the normal or pyramided entries, exits and in-trade events.
Backtesting results
A few words on the numbers calculated in the Engine. Priority is given to numbers not shown in TV backtesting, as you can readily convert the script to a strategy if you need them.
We have chosen to focus on numbers expressing results relative to X (the trade’s risk) rather than in absolute currency numbers or in other more conventional but less useful ways. For example, most of the individual trade results are not shown in percentages, as this unit of measure is often less meaningful than those expressed in units of risk (X). A trade that closes with a +25% result, for example, is a poor outcome if it was entered with a -50% stop. Expressed in X, this trade’s P&L becomes 0.5, which provides much better insight into the trade’s outcome. A trade that closes with a P&L of +2X has earned twice the risk incurred upon entry, which would represent a pre-trade risk:reward ratio of 2.
The way to go about it when you think in X’s and that you adopt the sound risk management policy to risk a fixed percentage of your account on each trade is to equate a currency value to a unit of X. E.g. your account is 10K USD and you decide you will risk a maximum of 1% of it on each trade. That means your unit of X for each trade is worth 100 USD. If your APPT is 2X, this means every time you risk 100 USD in a trade, you can expect to make, on average, 200 USD.
By presenting results this way, we hope that the Engine’s statistics will appeal to those cognisant of sound risk management strategies, while gently leading traders who aren’t, towards them.
We trade to turn in tangible profits of course, so at some point currency must come into play. Accordingly, some values such as equity, P&L, slippage and fees are expressed in currency.
Many of the usual numbers shown in TV backtests are nonetheless available, but they have been commented out in the Engine’s Plot module.
Position sizing and risk management
All good system designers understand that optimal risk management is at the very heart of all winning strategies. The risk in a trade is defined by the fraction of current equity represented by the amplitude of the stop, so in order to manage risk optimally on each trade, position size should adjust to the stop’s amplitude. Systems that enter trades with a fixed stop amplitude can get away with calculating position size as a fixed percentage of current equity. In the context of a test run where equity varies, what represents a fixed amount of risk translates into different currency values.
Dynamically adjusting position size throughout a system’s life is optimal in many ways. First, as position sizing will vary with current equity, it reproduces a behavioral pattern common to experienced traders, who will dial down risk when confronted to poor performance and increase it when performance improves. Second, limiting risk confers more predictability to statistical test results. Third, position sizing isn’t just about managing risk, it’s also about maximizing opportunity. By using the maximum leverage (no reference to trading on margin here) into the trade that your risk management strategy allows, a dynamic position size allows you to capture maximal opportunity.
To calculate position sizes using the fixed risk method, we use the following formula: Position = Account * MaxRisk% / Stop% [, which calculates a position size taking into account the trade’s entry stop so that if the trade is stopped out, 100 USD will be lost. For someone who manages risk this way, common instructions to invest a certain percentage of your account in a position are simply worthless, as they do not take into account the risk incurred in the trade.
The Engine lets you select either the fixed risk or fixed percentage of equity position sizing methods. The closest thing to dynamic position sizing that can currently be done with alerts is to use a bot that allows syntax to specify position size as a percentage of equity which, while being dynamic in the sense that it will adapt to current equity when the trade is entered, does not allow us to modulate position size using the stop’s amplitude. Changes to alerts are on the way which should solve this problem.
In order for you to simulate performance with the constraint of fixed position sizing, the Engine also offers a third, less preferable option, where position size is defined as a fixed percentage of initial capital so that it is constant throughout the test and will thus represent a varying proportion of current equity.
Let’s recap. The three position sizing methods the Engine offers are:
1. By specifying the maximum percentage of risk to incur on your remaining equity, so the Engine will dynamically adjust position size for each trade so that, combining the stop’s amplitude with position size will yield a fixed percentage of risk incurred on current equity,
2. By specifying a fixed percentage of remaining equity. Note that unless your system has a fixed stop at entry, this method will not provide maximal risk control, as risk will vary with the amplitude of the stop for every trade. This method, as the first, does however have the advantage of automatically adjusting position size to equity. It is the Engine’s default method because it has an equivalent in TV backtesting, so when flipping between indicator and strategy mode, test results will more or less correspond.
3. By specifying a fixed percentage of the Initial Capital. While this is the least preferable method, it nonetheless reflects the reality confronted by most system designers on TradingView today. In this case, risk varies both because the fixed position size in initial capital currency represents a varying percentage of remaining equity, and because the trade’s stop amplitude may vary, adding another variability vector to risk.
Note that the Engine cannot display equity results for strategies entering trades for a fixed amount of shares/contracts at a variable price.
SETTINGS/INPUTS
Because the initial text first published with a script cannot be edited later and because there are just too many options, the Engine’s Inputs will not be covered in minute detail, as they will most certainly evolve. We will go over them with broad strokes; you should be able to figure the rest out. If you have questions, just ask them here or in the PineCoders Telegram group.
Display
The display header’s checkbox does nothing.
For the moment, only one exit strategy uses a take profit level, so only that one will show information when checking “Show Take Profit Level”.
Entries
You can activate two simultaneous entry strats, each selected from the same set of strats contained in the Engine. If you select two and they fire simultaneously, the main strat’s signal will be used.
The random strat in each list uses a different seed, so you will get different results from each.
The “Filter transitions” and “Filter states” strats delegate signal generation to the selected filter(s). “Filter transitions” signals will only fire when the filter transitions into bull/bear state, so after a trade is stopped out, the next entry may take some time to trigger if the filter’s state does not change quickly. When you choose “Filter states”, then a new trade will be entered immediately after an exit in the direction the filter allows.
If you select “External Indicator”, your indicator will need to generate a +2/-2 (or a positive/negative stop value) to enter a long/short position, providing the selected filters allow for it. If you wish to use the Engine’s capacity to also derive the entry stop level from your indicator’s signal, then you must explicitly choose this option in the Entry Stops section.
Filters
You can activate as many filters as you wish; they are additive. The “Maximum stop allowed on entry” is an important component of proper risk management. If your system has an average 3% stop size and you need to trade using fixed position sizes because of alert/execution bot limitations, you must use this filter because if your system was to enter a trade with a 15% stop, that trade would incur 5 times the normal risk, and its result would account for an abnormally high proportion in your system’s performance.
Remember that any filter can also be used as an entry signal, either when it changes states, or whenever no trade is active and the filter is in a bull or bear mode.
Entry Stops
An entry stop must be selected in the Engine, as it requires a stop level before the in-trade stop is calculated. Until the selected in-trade stop strat generates a stop that comes closer to price than the entry stop (or respects another one of the in-trade stops kick in strats), the entry stop level is used.
It is here that you must select “External Indicator” if your indicator supplies a +price/-price value to be used as the entry stop. A +price is expected for a long entry and a -price value will enter a short with a stop at price. Note that the price is the absolute price, not an offset to the current price level.
In-Trade Stops
The Engine comes with many built-in in-trade stop strats. Note that some of them share the “Length” and “Multiple” field, so when you swap between them, be sure that the length and multiple in use correspond to what you want for that stop strat. Suggested defaults appear with the name of each strat in the dropdown.
In addition to the strat you wish to use, you must also determine when it kicks in to replace the initial entry’s stop, which is determined using different strats. For strats where you can define a positive or negative multiple of X, percentage or fixed value for a kick-in strat, a positive value is above the trade’s entry fill and a negative one below. A value of zero represents breakeven.
Pyramiding
What you specify in this section are the rules that allow pyramiding to happen. By themselves, these rules will not generate pyramiding entries. For those to happen, entry signals must be issued by one of the active entry strats, and conform to the pyramiding rules which act as a filter for them. The “Filter must allow entry” selection must be chosen if you want the usual system’s filters to act as additional filtering criteria for your pyramided entries.
Hard Exits
You can choose from a variety of hard exit strats. Hard exits are exit strategies which signal trade exits on specific events, as opposed to price breaching a stop level in In-Trade Stops strategies. They are self-explanatory. The last one labelled When Take Profit Level (multiple of X) is reached is the only one that uses a level, but contrary to stops, it is above price and while it is relative because it is expressed as a multiple of X, it does not move during the trade. This is the level called Take Profit that is show when the “Show Take Profit Level” checkbox is checked in the Display section.
While stops focus on managing risk, hard exit strategies try to put the emphasis on capturing opportunity.
Slippage
You can define it as a percentage or a fixed value, with different settings for entries and exits. The entry and exit markers on the chart show the impact of slippage on the entry price (the fill).
Fees
Fees, whether expressed as a percentage of position size in and out of the trade or as a fixed value per in and out, are in the same units of currency as the capital defined in the Position Sizing section. Fees being deducted from your Capital, they do not have an impact on the chart marker positions.
In-Trade Events
These events will only trigger during trades. They can be helpful to act as reminders for traders using the Engine as assistance to discretionary trading.
Post-Exit Analysis
It is normally on. Some of its results will show in the Global Numbers section of the Data Window. Only a few of the statistics generated are shown; many more are available, but commented out in the Plot module.
Date Range Filtering
Note that you don’t have to change the dates to enable/diable filtering. When you are done with a specific date range, just uncheck “Date Range Filtering” to disable date filtering.
Alert Triggers
Each selection corresponds to one condition. Conditions can be combined into a single alert as you please. Just be sure you have selected the ones you want to trigger the alert before you create the alert. For example, if you trade in both directions and you want a single alert to trigger on both types of exits, you must select both “Long Exit” and “Short Exit” before creating your alert.
Once the alert is triggered, these settings no longer have relevance as they have been saved with the alert.
When viewing charts where an alert has just triggered, if your alert triggers on more than one condition, you will need the appropriate markers active on your chart to figure out which condition triggered the alert, since plotting of markers is independent of alert management.
Position sizing
You have 3 options to determine position size:
1. Proportional to Stop -> Variable, with a cap on size.
2. Percentage of equity -> Variable.
3. Percentage of Initial Capital -> Fixed.
External Indicator
This is where you connect your indicator’s plot that will generate the signals the Engine will act upon. Remember this only works in Indicator mode.
DATA WINDOW INFORMATION
The top part of the window contains global numbers while the individual trade information appears in the bottom part. The different types of units used to express values are:
curr: denotes the currency used in the Position Sizing section of Inputs for the Initial Capital value.
quote: denotes quote currency, i.e. the value the instrument is expressed in, or the right side of the market pair (USD in EURUSD ).
X: the stop’s amplitude, itself expressed in quote currency, which we use to express a trade’s P&L, so that a trade with P&L=2X has made twice the stop’s amplitude in profit. This is sometimes referred to as R, since it represents one unit of risk. It is also the unit of measure used in the APPT, which denotes expected reward per unit of risk.
X%: is also the stop’s amplitude, but expressed as a percentage of the Entry Fill.
The numbers appearing in the Data Window are all prefixed:
“ALL:” the number is the average for all first entries and pyramided entries.
”1ST:” the number is for first entries only.
”PYR:” the number is for pyramided entries only.
”PEA:” the number is for Post-Exit Analyses
Global Numbers
Numbers in this section represent the results of all trades up to the cursor on the chart.
Average Profitability Per Trade (X): This value is the most important gauge of your strat’s worthiness. It represents the returns that can be expected from your strat for each unit of risk incurred. E.g.: your APPT is 2.0, thus for every unit of currency you invest in a trade, you can on average expect to obtain 2 after the trade. APPT is also referred to as “statistical expectancy”. If it is negative, your strategy is losing, even if your win rate is very good (it means your winning trades aren’t winning enough, or your losing trades lose too much, or both). Its counterpart in currency is also shown, as is the APPT/bar, which can be a useful gauge in deciding between rivalling systems.
Profit Factor: Gross of winning trades/Gross of losing trades. Strategy is profitable when >1. Not as useful as the APPT because it doesn’t take into account the win rate and the average win/loss per trade. It is calculated from the total winning/losing results of this particular backtest and has less predictive value than the APPT. A good profit factor together with a poor APPT means you just found a chart where your system outperformed. Relying too much on the profit factor is a bit like a poker player who would think going all in with two’s against aces is optimal because he just won a hand that way.
Win Rate: Percentage of winning trades out of all trades. Taken alone, it doesn’t have much to do with strategy profitability. You can have a win rate of 99% but if that one trade in 100 ruins you because of poor risk management, 99% doesn’t look so good anymore. This number speaks more of the system’s profile than its worthiness. Still, it can be useful to gauge if the system fits your personality. It can also be useful to traders intending to sell their systems, as low win rate systems are more difficult to sell and require more handholding of worried customers.
Equity (curr): This the sum of initial capital and the P&L of your system’s trades, including fees and slippage.
Return on Capital is the equivalent of TV’s Net Profit figure, i.e. the variation on your initial capital.
Maximum drawdown is the maximal drawdown from the highest equity point until the drop . There is also a close to close (meaning it doesn’t take into account in-trade variations) maximum drawdown value commented out in the code.
The next values are self-explanatory, until:
PYR: Avg Profitability Per Entry (X): this is the APPT for all pyramided entries.
PEA: Avg Max Opp . Available (X): the average maximal opportunity found in the Post-Exit Analyses.
PEA: Avg Drawdown to Max Opp . (X): this represents the maximum drawdown (incurred from the close at the beginning of the PEA analysis) required to reach the maximal opportunity point.
Trade Information
Numbers in this section concern only the current trade under the cursor. Most of them are self-explanatory. Use the description’s prefix to determine what the values applies to.
PYR: Avg Profitability Per Entry (X): While this value includes the impact of all current pyramided entries (and only those) and updates when you move your cursor around, P&L only reflects fees at the trade’s last bar.
PEA: Max Opp . Available (X): It’s the most profitable close reached post-trade, measured from the trade’s Exit Fill, expressed in the X value of the trade the PEA follows.
PEA: Drawdown to Max Opp . (X): This is the maximum drawdown from the trade’s Exit Fill that needs to be sustained in order to reach the maximum opportunity point, also expressed in X. Note that PEA numbers do not include slippage and fees.
EXTERNAL SIGNAL PROTOCOL
Only one external indicator can be connected to a script; in order to leverage its use to the fullest, the engine provides options to use it as either an entry signal, an entry/exit signal or a filter. When used as an entry signal, you can also use the signal to provide the entry’s stop. Here’s how this works:
For filter state: supply +1 for bull (long entries allowed), -1 for bear (short entries allowed).
For entry signals: supply +2 for long, -2 for short.
For exit signals: supply +3 for exit from long, -3 for exit from short.
To send an entry stop level with an entry signal: Send positive stop level for long entry (e.g. 103.33 to enter a long with a stop at 103.33), negative stop level for short entry (e.g. -103.33 to enter a short with a stop at 103.33). If you use this feature, your indicator will have to check for exact stop levels of 1.0, 2.0 or 3.0 and their negative counterparts, and fudge them with a tick in order to avoid confusion with other signals in the protocol.
Remember that mere generation of the values by your indicator will have no effect until you explicitly allow their use in the appropriate sections of the Engine’s Settings/Inputs.
An example of a script issuing a signal for the Engine is published by PineCoders.
RECOMMENDATIONS TO ASPIRING SYSTEM DESIGNERS
Stick to higher timeframes. On progressively lower timeframes, margins decrease and fees and slippage take a proportionally larger portion of profits, to the point where they can very easily turn a profitable strategy into a losing one. Additionally, your margin for error shrinks as the equilibrium of your system’s profitability becomes more fragile with the tight numbers involved in the shorter time frames. Avoid <1H time frames.
Know and calculate fees and slippage. To avoid market shock, backtest using conservative fees and slippage parameters. Systems rarely show unexpectedly good returns when they are confronted to the markets, so put all chances on your side by being outrageously conservative—or a the very least, realistic. Test results that do not include fees and slippage are worthless. Slippage is there for a reason, and that’s because our interventions in the market change the market. It is easier to find alpha in illiquid markets such as cryptos because not many large players participate in them. If your backtesting results are based on moving large positions and you don’t also add the inevitable slippage that will occur when you enter/exit thin markets, your backtesting will produce unrealistic results. Even if you do include large slippage in your settings, the Engine can only do so much as it will not let slippage push fills past the high or low of the entry bar, but the gap may be much larger in illiquid markets.
Never test and optimize your system on the same dataset , as that is the perfect recipe for overfitting or data dredging, which is trying to find one precise set of rules/parameters that works only on one dataset. These setups are the most fragile and often get destroyed when they meet the real world.
Try to find datasets yielding more than 100 trades. Less than that and results are not as reliable.
Consider all backtesting results with suspicion. If you never entertained sceptic tendencies, now is the time to begin. If your backtest results look really good, assume they are flawed, either because of your methodology, the data you’re using or the software doing the testing. Always assume the worse and learn proper backtesting techniques such as monte carlo simulations and walk forward analysis to avoid the traps and biases that unchecked greed will set for you. If you are not familiar with concepts such as survivor bias, lookahead bias and confirmation bias, learn about them.
Stick to simple bars or candles when designing systems. Other types of bars often do not yield reliable results, whether by design (Heikin Ashi) or because of the way they are implemented on TV (Renko bars).
Know that you don’t know and use that knowledge to learn more about systems and how to properly test them, about your biases, and about yourself.
Manage risk first , then capture opportunity.
Respect the inherent uncertainty of the future. Cleanse yourself of the sad arrogance and unchecked greed common to newcomers to trading. Strive for rationality. Respect the fact that while backtest results may look promising, there is no guarantee they will repeat in the future (there is actually a high probability they won’t!), because the future is fundamentally unknowable. If you develop a system that looks promising, don’t oversell it to others whose greed may lead them to entertain unreasonable expectations.
Have a plan. Understand what king of trading system you are trying to build. Have a clear picture or where entries, exits and other important levels will be in the sort of trade you are trying to create with your system. This stated direction will help you discard more efficiently many of the inevitably useless ideas that will pop up during system design.
Be wary of complexity. Experienced systems engineers understand how rapidly complexity builds when you assemble components together—however simple each one may be. The more complex your system, the more difficult it will be to manage.
Play! . Allow yourself time to play around when you design your systems. While much comes about from working with a purpose, great ideas sometimes come out of just trying things with no set goal, when you are stuck and don’t know how to move ahead. Have fun!
@LucF
NOTES
While the engine’s code can supply multiple consecutive entries of longs or shorts in order to scale positions (pyramid), all exits currently assume the execution bot will exit the totality of the position. No partial exits are currently possible with the Engine.
Because the Engine is literally crippled by the limitations on the number of plots a script can output on TV; it can only show a fraction of all the information it calculates in the Data Window. You will find in the Plot Module vast amounts of commented out lines that you can activate if you also disable an equivalent number of other plots. This may be useful to explore certain characteristics of your system in more detail.
When backtesting using the TV backtesting feature, you will need to provide the strategy parameters you wish to use through either Settings/Properties or by changing the default values in the code’s header. These values are defined in variables and used not only in the strategy() statement, but also as defaults in the Engine’s relevant Inputs.
If you want to test using pyramiding, then both the strategy’s Setting/Properties and the Engine’s Settings/Inputs need to allow pyramiding.
If you find any bugs in the Engine, please let us know.
THANKS
To @glaz for allowing the use of his unpublished MA Squize in the filters.
To @everget for his Chandelier stop code, which is also used as a filter in the Engine.
To @RicardoSantos for his pseudo-random generator, and because it’s from him that I first read in the Pine chat about the idea of using an external indicator as input into another. In the PineCoders group, @theheirophant then mentioned the idea of using it as a buy/sell signal and @simpelyfe showed a piece of code implementing the idea. That’s the tortuous story behind the use of the external indicator in the Engine.
To @admin for the Volatility stop’s original code and for the donchian function lifted from Ichimoku .
To @BobHoward21 for the v3 version of Volatility Stop .
To @scarf and @midtownsk8rguy for the color tuning.
To many other scripters who provided encouragement and suggestions for improvement during the long process of writing and testing this piece of code.
To J. Welles Wilder Jr. for ATR, used extensively throughout the Engine.
To TradingView for graciously making an account available to PineCoders.
And finally, to all fellow PineCoders for the constant intellectual stimulation; it is a privilege to share ideas with you all. The Engine is for all TradingView PineCoders, of course—but especially for you.
Look first. Then leap.
SST Table ShekharSST Table Shekhar — v6.10.2
A compact, movable table that displays up to 20 symbols per group (Group A / Group B), shows current price (CMP), previous 20-day high (OLD GTT), current 20-day high (NEW GTT) and an UPDATE flag when NEW GTT < OLD GTT. Adds SMA20 on-chart, with an optional daily closing-basis alert for CMP crossing above SMA20. Designed for daily timeframe usage and efficient multi-symbol monitoring.
Key features
Two symbol groups (Group A / Group B), each up to 20 tickers — switch between groups without editing text fields.
Clean, transparent, movable table: STOCK | CMP | OLD GTT | NEW GTT | UPDATE.
Correct per-symbol OLD GTT (previous bar’s 20-day high) using a single request.security() call per symbol (optimized under TradingView limits).
SMA20 plotted on the chart (blue line).
Toggleable plots: HIGH20 / LOW20 / TARGET for the active chart symbol.
Alternate row shading and header background selector; font size selector.
Alerts:
Update GTT — when NEW 20D HIGH < OLD 20D HIGH (aggregated list).
CMP Cross Above SMA20 (closing basis) — when symbol closes above its SMA20 (uses previous close & previous SMA20 for closing-basis detection).
Alert messages list all symbols that triggered in the active group and include the group name.
Robust parser for input symbol lists — handles commas, semicolons, pipes, newlines and trims empty entries.
Inputs (exposed)
20-Day High/Low Length — period for HIGH/LOW (default 20).
Target % — percent used to compute target (optional plotted).
Group A / Group B — comma-separated lists of tickers (blank by default).
Show Which Group? — select Group A or Group B for display.
Table Corner — position (Top Left / Top Right / Bottom Left / Bottom Right).
Font Size — Small / Normal / Large.
Header Background — Transparent / Silver / Blue / Green / Yellow.
Show HIGH20/LOW20/TARGET Plots — toggle plotting of those lines for the chart symbol.
Alternate Row Shading & opacity.
Enable Update GTT Alert & Alert Only On Bar Close toggle.
Enable CMP Cross Above SMA20 Alert & Cross Only On Bar Close toggle.
Alerts / How to use
Put the script on a chart (recommended timeframe: 1D for reliable closing-basis cross signals).
Populate Group A and/or Group B with up to 20 tickers each (comma-separated). Leave blank to start fresh.
In the indicator’s Inputs, choose which group to view with Show Which Group?.
To create a TradingView alert:
Click the Alarm icon → Add alert.
Condition: choose either the alertcondition lines exposed by the script:
SST Table Shekhar v6.10.2 → Update GTT (any symbol)
SST Table Shekhar v6.10.2 → CMP Cross Above SMA20 (any symbol)
Or choose Any alert() function call if you want the script’s internal alert() messages (aggregated).
Set Options to Once per bar close if you want alerts only at bar close (recommended for daily timeframe), or Once per bar for intrabar.
Choose delivery channels: pop-up, app, email, webhook (webhook recommended for automation).
Alert messages include ticker lists (e.g. Update GTT = YES for: NSE:TCS, NSE:RELIANCE — (Group A)).
Practical examples
Use Group A for your core watchlist, Group B for a secondary watchlist; toggle groups to change the displayed list.
Keep chart on daily timeframe and enable Cross Alert Only On Bar Close for accurate closing-basis signals.
Use webhook alerts to push signals to Google Sheets, Discord/Telegram, or a trading automation system.
Performance & limits
Each symbol uses one request.security() call returning a tuple — optimized to stay below TradingView’s 40 unique-request limit.
Designed for up to 20 symbols per group (40 total), but running both groups simultaneously (40 requests) may approach limits depending on other indicators on your chart. Keep it to 20 per instance for best stability.
Works best on 1D / 4H / 1H timeframes. On very low intraday timeframes (1–5 min) you may see heavier resource usage — reduce number of symbols or plots if needed.
Known limitations
Alerts are aggregated (single alert lists all matching tickers). If you need individual per-symbol alerts you can create separate script instances or ask for per-symbol alert logic.
Only the CMP Cross Above SMA20 (closing basis) is included in this release. If you want downward crosses (CMP crosses below SMA20) or more complex rules (volume filter, RSI, etc.), I can add those.
Changelog
v6.10.2 — stable publish candidate: Group A/B, 20 symbols, robust parser, SMA20 cross alerts, optimized single-request per symbol, UI/appearance options, alert messages.
(previous dev notes kept internally)
Permissions & licensing
You may publish and redistribute this script on TradingView. If you republish code derived from this indicator, please keep author credit as Shekhar / SST Table Shekhar and note any modifications.
This script is provided as-is. Not financial advice. Use at your own risk.
Support / Contact
For feature requests, bug reports, or help configuring alerts/webhooks (Discord/GSheets/Telegram) — message me in the TradingView script comments or reply to this post.
Force of Strategy (FoS, Multi TF/TA, Backtest, Alerts)Introducing the FoS Trading System
A comprehensive and innovative solution designed for both novice and experienced traders to enhance their intraday trading.
The basic idea of creating this script is to stay profitable in any market
Key Features:
There are over 25 no-repaint strategies for generating buy and sell signals to choose from
10 symbols for simultaneous trading
Webhook alerts in TTA format (tradingview to anywhere) pre-configured to send messages for trading cross-margin futures on major Crypto Exchanges: Binance, Bitget, BingX, Bybit, GateIO and OKX
A unique automated "Strategy switcher" feature for backtesting and live trading—not just a specific strategy, but the logic behind choosing a trading one or another strategy based on backtesting data obtained in real time
Advanced risk management options and backtest result metrics
Higher Timeframe filters (Technical Rating, ADX, Volatility) and ability for check backtest results with 9 main higher timeframes
Buy and sell signals are generated using TradingView Technical Ratings, indicators with adaptive length algorithms and various classic indicators with standard settings to avoid overfitting
Next, I will describe in detail what this script does and what settings it operates with:
"All Strategies" off
- In the global settings block, as shown in the main chart screenshot, you select how long the script will perform backtests in days, with a limitation on the number of bars for calculations. This limitation is necessary to maintain an acceptable calculation speed. You also choose which two higher timeframes we will use for signal and filters when confirming the opening of trades
- With "All Strategies" off - as in the example on the main chart screenshot, trading is carried out by strategy #1 on 10 selected tickers simultaneously. By default, I selected the 9 top-capitalized cryptocurrencies on the Bitget exchange and the chart symbol. You can change that choice of 9 non chart opened instruments and # strategy for each them
- The first row in the table 1 shows some of the main choosen script settings, in attached example: initial capital 20$, leverage 50L, 20 backtest days, 3$ is invest in one deal, 60m - is chart timeframe, next 60m is higher timeframe 1 and last 90m is higher timeframe 2. In first column you see shortened to 5 characters ticker names
- The exchange name in the second row determines the alert messages format
I've attached another example of trading with setting "All strategies" off in the image below. In this example, trading 10 standard symbols on an hourly timeframe, 2 coins from 10: 1000SATS and DOGE have generated a profit of over $65 over the past 20 days using strategy #4
Can you browse a wide range of trading instruments and select the 10 best strategies and settings for future trading? Of course, trading is what this script is do!
The parameters in the table 1 mean the following:
TR - count of closed trading deals
WR - Winning Rate, PF - Profit Factor
MDD - Max Draw Down for all calculated time from initial capital
R$ - trading profit result in usd
The parameters in the table 2 is just more metrics for chart symbol:
PT - result in usd Per one Trade
PW - result Per Win, PL - result Per Lose
ROI - Rate of Investments
SR - Sharpe Ratio, MR - CalMAR ration
Tx - Commision Fee in Usd
R$ - trading profit result in usd again
Table 2 separate trade results of backtesting for longs and shorts. In first column you see how many USD were invested in one trade, taking into account possible position splitting (will be discussed in more detail in the risk management section)
Settings:
"All Strategies" on, "Check Last" off
When "All Strategies" is active, trading changed from 10 symbols and one strategy to all strategies and one chart symbol. If option "Check Last" is inactive you will see backtest results for each of strategy in backtest setting days. This is useful, for example, if you want to see backtest results under different settings over a long period of time for calibrating risk management or entry rules
"All Strategies" on, "Check Last" on
- If "All Strategies" and "Check Last" is active trading will occur on the chart symbol only for those strategies that meet the criteria of the settings block for the enabled "All Strategies" option. For example your criteria is: for last 5 trades for all strategies, open next trade only on strategy which reached ROI 25% and WinRate 50%. When strategy with this setting criteria receive Buy or Sell Signal this trade will be opened, and when trade will be close "check last" will repeat. This feature i called "Strategy switcher"
-In Table 1 if strategy meet criteria you will see "Ok" label, if strategy meet criteria and have maximum from other reached ROI they labeled "Best". Chart strategy labeled "Chart", Chart and Ok labels in one time is "Chart+", "Chart" and "Best" is labeled "Best+"
- The color in the first column of table 1 indicates that the strategy is currently in an open position: green means an open long position, red means an open short position.
In picture bellow you will see good example for trading with check results for last 10 trades, and make desicion for trading when criteries 0.25 ROI and WinRate 50% reached for Top 2 by ROI strategies from all list of them. This example of trading logic in last 20 days (include periods when strategy don't arise 10 trades) give a profit $30+. At the bottom of the screen, you can see Labels with the numbers of the strategies that opened the trades. In this example, trades were primarily opened using strategy number 2, and the second most effective strategy after the 20-day backtest was strategy number 9
Who can promise you'll make a profit of $30 in the next 20 days with a drawdown of no more than $8 from the initial $20 with invest in one trade just 2.7$? No one. But this script guarantees that in the future it will repeat the same logic of switching trading strategies that brought profit over the last 20 days
Risk management options
- When a buy or sell trade is opened, you'll see three lines on the chart: a red stop-loss line (SL), a green take-profit line (TP), and a blue line representing the entry price. The trade will be closed if the high price or low price reaches the line TP or SL (no wait for bar close) and alert will be triggered once per bar when script recalculates
- Several options are available to control the behavior of SL/TP lines, such as stop-loss by percentage, ATR, or Highest High (HH) and Lowest Low (LL). Take Profit can be in percent, ATR or in Risk Reward ratio. There some Trailing Stop with start trail trigger options, like ATR, percent or HH / LL
- Additionally, in risk managment settings a function has been implemented for adding a position when the breakeven level expressed in the current ROI is reached for opened trade (splitting position). The position is added within the bar.
- Webhook alerts in TTA format with message contained next info : Buy / Sell or adding Quantity, Leverage, SL price, TP price and close trade
Keep in mind if the stop-loss changed when adding a position, the stop-loss will not be able to be higher than the current bar's low price, regardless of your settings, as backtest trades do not use intra-bar data, in this situation SL will be correct at next bar (but alert message don't be sended twice). And please note that this script does not have an option to simultaneously open trades in different directions. Only 1 trade can be opened for 1 trading instrument at a time
Backtest Engine
Backtest is a very important part of this script. Here describe how its calculate:
- Profit or Loss is USD: close trade price * open trade quantity - open trade price * open trade quantity - open trade quantity * (open trade price + close trade price)/2 * commision fee
Possible slippage or alert sending delay needed to be include in commission % which you will set in risk managment settings block, default settings is 0.15% (0,06% for open, 0,06% for close and 0,03% for possible slippage or additional fees)
- Maximum Draw Down: Drawdown = (peak - current equity) / peak * 100 ;
Drawdown > maxDrawdown ? maxDrawdown = Drawdown
- ROI: profit result in USD / sum of all positions margin
- CalMAR Ratio: ROI / (-MaxDrawDown)
- Sharpe Ratio: ROI / standard deviation for (Sum of all Profits and Loses) / (Sum of all Position Margins)
This description was added because in metrics i don't use parameters like "The risk-free rate of return". Keep in mind how exactly this script calculate profit and perfomance when adjusting key criteria in the strategy switching parameters block of script settings
Strategies itself
For trading, you can enable or disable various Higher Timeframes Filters (ADX, volatility, technical rating).
With filters enabled, trades will only open when the setting parameters are reached
- Strategy number 1, 2 and 3: is Higher Timeframe TradingView Technical Ratings itself, 1 is summary total rating, 2 is oscillators and 3 is moving averages. When TR filter cross filter levels trade will be open at chart bar close. By Default on chart you see Summary Technical Rating oscillator, but here the options for change it to Oscillator TR or Moving Average TR
- Strategy number 4, 5 and 6: is Chart TimeFrame TR. Trades will open when its values (Summary, Oscillators and Moving Averages) reached setting buy sell level
- Strategy number 7, 8 and 9: is Alternative buy sell logic for Chart TimeFrame TR, trades will open when counting rising or falling values will be reached
- Strategies with number from 10 to 18: is chosen by user adaptive moving averages and oscillators indicators. There in settings you will see many different adaptive length algorithms for trading and different types of moving averages and oscillators. In tooltips in settings you will find very more information, and in settings you will see list of all indicators and algorithms (more than 30 variations). All adaptive strategies have their options in settings for calibrating and plotting
- Strategies with number from 19: its can't be chosen or calibarted, this is needed for avoid overfitting, i try to found mostly time worked strategies and use its with standard settings. In future it's possible to changing current or adding additional strategies. At the time of publication this script uses: Dynamic Swing HH LL (19), Composite indicator (20), %R Exhausting with different signals (21,22,23), Pivot Point SuperTrend (24), Ichimoku Cloud (25), TSI (26), Fib Level RSI (27). I don't plot classic strategies in this script
Let me explain, the value of this script is not in the strategies it includes, but in how exactly it collects the results of their work, how it filters the opening of trades, what risk management it applies and what strategy switching logic it performs. The system itself that you are now reading about represents the main value of this script
Finally if you get access for this script
- You will see many other not described options and possibilities like Kelly position or list of settings for adaptive strategies, also i added many usefull tooltips in script settings
Happy trading, and stay tuned for updates!
DISCLAIMER: No sharing, copying, reselling, modifying, or any other forms of use are authorized for this script, and the information published with them. This script is strictly for individual use. No one know future and Investments are always made at your own risk. I am not responsible for any losses you may incur. Please before investment make sure that chosen logic is enaugh profitable on virtual demo account.
Cnagda Pure Price ActionCnagda Pure Price Action (CPPA) indicator is a pure price action-based system designed to provide traders with real-time, dynamic analysis of the market. It automatically identifies key candles, support and resistance zones, and potential buy/sell signals by combining price, volume, and multiple popular trend indicators.
How Price Action & Volume Analysis Works
Silver Zone – Logic, Reason, and Trade Planning
Logic & Visualization:
The Silver Zone is created when the closing price is the lowest in the chosen window and volume is the highest in that window.
Visually, a large silver-colored box/rectangle appears on the chart.
Thick horizontal lines (top and bottom) are drawn at the high and low of that candle/bar, extending to the right.
Reasoning:
This combination typically occurs at strong “accumulation” or support areas:
Sellers push the price down to the lowest point, but aggressive buyers step in with high volume, absorbing supply.
Indicates potential exhaustion of selling and likely shift in market control to buyers.
How to Plan Trades Using Silver Zone:
Watch if price returns to the Silver Zone in the future: It often acts as powerful support.
Bullish entries (buys) can be planned when price tests or slightly pierces this zone, especially if new buy signals occur (like yellow/green candle labels).
Place your stop-loss below the bottom line of the Silver Zone.
Target: Look for the nearest resistance or opposing zone, or use indicator’s bullish label as confirmation.
Extra Tip:
Multiple touches of the Silver Zone reinforce its importance, but if price closes deeply below it with high volume, that’s a caution signal—support may be breaking.
Black Zone – Logic, Reason, and Trade Planning (as CPPA):
Logic & Visualization:
The Black Zone is created when the closing price is the highest in the chosen window and volume is the lowest in that window.
Visually, a large black-colored box/rectangle appears on the chart, along with thick horizontal lines at the top (high) and bottom (low) of the candle, extending to the right.
Reasoning:
This combination signals a strong “distribution” or resistance area:
Buyers push the price up to a local high, but low volume means there is not much follow-through or conviction in the move.
Often marks exhaustion where uptrend may pause or reverse, as sellers can soon step in.
How to Plan Trades Using Black Zone:
If price revisits the Black Zone in the future, it often acts as major resistance.
Bearish entries (sells) are considered when price is near, testing, or slightly above the Black Zone—especially if new sell signals appear (like blue/red candle labels).
Place your stop-loss just above the top line of the Black Zone.
Target: Nearest support zone (such as a Silver Zone) or next indicator’s bearish label.
Extra Tip:
Multiple touches of the Black Zone make it stronger, but if price closes far above with rising volume, be cautious—resistance might be breaking.
Support Line – Logic, Reason, and Trade Planning (as Cppa):
Logic & Visualization:
The Support Line is a dynamically drawn dashed line (usually blue) that marks key price levels where the market has previously shown significant buying interest.
The line is generated whenever a candle forms a high price with high volume (orange logic).
The script checks for historical pivot lows, past support zones, and even higher timeframe (HTF) supports, and then extends a blue dashed line from that price level to the right, labeling it (sometimes as “Prev Support Orange, HTF”).
Reasoning:
This line helps you visually identify where demand has been strong enough to hold price from falling further—essentially a floor in the market used by professional traders.
If price approaches or re-tests this line, there’s a good chance buyers will defend it again.
How to Plan Trades Using Support Line:
Watch for price to approach the Support Line during down moves. If you see a bullish candlestick pattern, buy labels (yellow/green), or other indicators aligning, this can be a high-probability entry zone.
Great for planning stop-loss for long trades: place stops just below this line.
Target: Next resistance zone, Black Zone, or the top of the last swing.
Extra Tip:
Multiple confirmations (support line + Silver Zone + bullish label) provide powerful entry signals.
If price closes strongly below the Support Line with volume, be cautious—support may be breaking, and a trend reversal or deeper correction could follow.
Resistance Line – Logic, Reason, and Trade Planning (from CPPA):
Logic & Visualization:
The Resistance Line is a dynamically drawn dashed line (usually purple or red) that identifies price levels where the market has previously faced significant selling pressure.
This line is created when a candle reaches a high price combined with high volume (orange logic), or from a historical pivot high/resistance,
The script also tracks higher timeframe (HTF) resistance lines, labeled as “Prev Resistance Orange, HTF,” and extends these dashed lines to the right across the chart.
Reasoning:
Resistance Lines are visual markers of “supply zones,” where buyers previously failed, and sellers took control.
If the price returns to this line later, sellers may get active again to defend this level, halting the uptrend.
How to Plan Trades Using Resistance Line:
Watch for price to approach the Resistance Line during up moves. If you see bearish candlestick patterns, sell labels (blue/red), or bearish indicator confirmation, this becomes a strong shorting opportunity.
Perfect for placing stop-loss in short trades—put your stop just above the Resistance Line.
Target: Next support zone (Silver Zone) or bottom of the last swing.
If the price breaks above with high volume, avoid shorting—resistance may be failing.
Extra Tip:
Multiple resistances (Resistance Line + Black Zone + bearish label) make short signals stronger.
Choppy movement around this line often signals indecision; wait for a clear rejection before entering trades.
Bullish / Bearish Label – Logic, Reason, and Trade Planning:
Logic & Visualization:
The indicator constantly calculates a "Bull Score" and a "Bear Score" based on several factors:
Trend direction from price slope
Confirmation by popular indicators (RSI, ADX, SAR, CMF, OBV, CCI, Bollinger Bands, TWAP)
Adaptive scoring (higher score for each bullish/bearish condition met)
If Bull Score > Bear Score, the chart displays a green "BULLISH" label (usually below the bar).
If Bear Score > Bull Score, the chart displays a red "BEARISH" label (usually above the bar).
If neither dominates, a "NEUTRAL" label appears.
Reasoning:
The labels summarize complex price action and indicator analysis into a simple, actionable sentiment cue:
Bullish: Majority of conditions indicate buying strength; trend is up.
Bearish: Majority signals show selling pressure; trend is down.
How to Use in Trade Planning:
Use the Bullish label as confirmation to enter or hold long (buy) positions, especially if near support/Silver Zone.
Use the Bearish label to enter/hold short (sell) positions, especially if near resistance/Black Zone.
For best results, combine with candle color, volume analysis, or other labels (yellow/green for buys, blue/red for sells).
Avoid trading against these labels unless you have strong confluence from zones/support levels.
Yellow Label (Buy Signal) – Logic, Reason & Trade Planning:
Logic & Visualization:
The yellow label appears below a candle (label.style_label_up, yloc.belowbar) and marks a potential buy signal.
Script conditions:
The candle must be a “yellow candle” (which means it’s at the local lowest close, not a high, with normal volume).
Volume is decreasing for 2 consecutive candles (current volume < previous volume, previous volume < second previous).
When these conditions are met, a yellow label is plotted below the candle.
Reasoning:
This scenario often marks the end of selling pressure and start of possible accumulation—buyers may be stepping in as sellers exhaust.
Decreasing volume during a local price low means selling is slowing, possibly hinting at a reversal.
How to Trade Using Yellow Label:
Entry: Consider buying at/just above the yellow-labeled candle’s close.
Stop-loss: A bit below the candle’s low (or Silver Zone line, if present).
Target: Next resistance level, Black Zone, or chart’s bullish label.
Extra Tip:
If the yellow label is found at/near a Silver Zone or Support Line, and trend is “Bullish,” the setup gets even stronger.
Avoid trading if overall indicator shows “Bearish.”
Green Label (Buy with Increasing Volume) – Logic, Reason & Trade Planning:
Logic & Visualization:
The green label is plotted below a candle (label.style_label_up, yloc.belowbar) and marks a strong buy signal.
Script conditions:
The candle must be a “yellow candle” (at the local lowest close, normal volume).
Volume is increasing for 2 consecutive candles (current volume > previous volume, previous volume > second previous).
When these conditions are met, a green label is plotted below the candle.
Reasoning:
This scenario signals that buyers are stepping in aggressively at a local price low—the end of a downtrend with strong, rising activity.
Increasing volume at a price low is a classic sign of accumulation, where institutions or large players may be buying.
How to Trade Using Green Label:
Entry: Consider buying at/just above the green-labeled candle’s close for a momentum-based reversal.
Stop-loss: Slightly below the candle’s low, or the Silver Zone/support line if present.
Target: Nearest resistance zone/Black Zone, indicator’s bullish label, or next swing high.
Extra Tip:
If the green label is near other supports (Silver Zone, Support Line), the setup is extra strong.
Use confirmation from Bullish labels or trend signals for best results.
Green label setups are suitable for quick, high momentum trades due to increasing volume
Blue Label (Sell Signal on Decreasing Volume) – Logic, Reason & Trade Planning:
Logic & Visualization:
The blue label is plotted above a candle (label.style_label_down, yloc.abovebar) as a potential sell signal.
Script conditions:
The candle is a “blue candle” (local highest close, but not also lowest, and volume is neither highest nor lowest).
Volume is decreasing over 2 consecutive candles (current volume < previous, previous < two ago).
When these match, a blue label appears above the candle.
Reasoning:
This typically signals buyer exhaustion at a local high: price has gone up, but volume is dropping, suggesting big players may not be buying any more at these levels.
The trend is losing strength, and a reversal or pullback is likely.
How to Trade Using Blue Label:
Entry: Look to sell at/just below the candle with the blue label.
Stop-loss: Just above the candle’s high (or above the Black Zone/resistance if present).
Target: Nearest support, Silver Zone, or a swing low.
Extra Tip:
Blue label signals are stronger if they appear near Black Zones or Resistance Lines, or when the general market label is "Bearish."
As with buy setups, always check for confirmation from trend or volume before trading aggressively.
Blue Label (Sell Signal on Decreasing Volume) – Logic, Reason & Trade Planning:
Logic & Visualization:
The blue label is plotted above a candle (label.style_label_down, yloc.abovebar) as a potential sell signal.
Script conditions:
The candle is a “blue candle” (local highest close, but not also lowest, and volume is neither highest nor lowest).
Volume is decreasing over 2 consecutive candles (current volume < previous, previous < two ago).
When these match, a blue label appears above the candle.
Reasoning:
This typically signals buyer exhaustion at a local high: price has gone up, but volume is dropping, suggesting big players may not be buying any more at these levels.
The trend is losing strength, and a reversal or pullback is likely.
How to Trade Using Blue Label:
Entry: Look to sell at/just below the candle with the blue label.
Stop-loss: Just above the candle’s high (or above the Black Zone/resistance if present).
Target: Nearest support, Silver Zone, or a swing low.
Extra Tip:
Blue label signals are stronger if they appear near Black Zones or Resistance Lines, or when the general market label is "Bearish."
As with buy setups, always check for confirmation from trend or volume before trading aggressively.
Here’s a summary of all key chart labels, zones, and trading logic of your Price Action script:
Silver Zone: Powerful support zone. Created at lowest close + highest volume. Best for buy entries near its lines.
Black Zone: Strong resistance zone. Created at highest close + lowest volume. Ideal for short trades near its levels.
Support Line: Blue dashed line at historical demand; buyers defend here. Look for bullish setups when price approaches.
Resistance Line: Purple/red dashed line at supply; sellers defend here. Great for bearish setups when price nears.
Bullish/Bearish Labels: Summarize trend direction using price action + multiple indicator confirmations. Plan buys, holds on bullish; sells, shorts on bearish.
Yellow Label: Buy signal on decreasing volume and local price low. Entry above candle, stop below, target next resistance.
Green Label: Strong buy on increasing volume at a price low. Entry for momentum trade, stop below, target next zone.
Blue Label: Sell signal on dropping volume and local price high. Entry below candle, stop above, target next support.
Best Practices:
Always combine zone/label signals for higher probability trades.
Use stop-loss near zones/lines for risk management.
Prefer trading in the trend direction (bullish/bearish label agrees with your entry).
if Any Question, Suggestion Feel free to ask
Disclaimer:
All information provided by this indicator is for educational and analysis purposes only, and should not be considered financial advice.
Iron Condor Pro v6 – Full EngineIronCondor Engine v6.6 is a multi-mode options strategy tool for planning and managing iron condors, straddles, strangles, and butterflies. It supports both setup planning and live trade tracking with modeled delta, risk-based strike selection, IV rank estimation, and visual breach alerts.
Use Setup Mode to preview strike structures based on IV proxy, ATR, delta targeting, and risk tier (High/Mid/Low/Delta). Use Live Mode to track real trades, enter strike/premium data, and monitor live P&L, delta drift, and range status.
This script does not connect to live option chains. Volatility and delta are modeled using price history. All strikes and premiums must be confirmed using your broker before placing trades. Best used with strong support/resistance levels and high IV rank (30%+).
For educational purposes only.
Workflow Guide
Use this flow whether you're setting up on Sunday night or any day before placing a trade.
Step 0: Pre-Script Preparation
Before using the script:
Identify major support and resistance zones on your chart. Define the expected range or consolidation area. Use this context to help evaluate strike placement
1. Setup Phase (Pre-Trade Planning)
Step 1 – Load the Script
Add: IronCondor Engine v6.6 – Full Risk/Decay Edition to your chart
Step 2 – Set Mode = Setup
This enables planning mode, where the engine calculates strike combinations based on:
Your selected risk profile (High, Mid, Low, or Delta)
Historical volatility (20-day log return)
ATR (Average True Range)
Target short delta (adjustable)
Step 3 – Review Setup Table
Enable Show Setup Table to view calculated strikes and width by risk tier.
Adjust any of the following as needed:
Target Short Delta
Strike Interval ($)
Width multipliers (High/Mid/Low)
Risk tier under Auto-Feed Choice
Step 4 – Evaluate the Setup
Is the net credit at least 1.5–2.0x your max risk?
Are the short strikes clearly outside support/resistance zones?
Are the short deltas between 0.15 and 0.30?
Is the range wide enough to handle normal price movement?
Step 5 – Prep for Execution
Enable Auto-Feed Setup → Live to carry Setup strikes into Live mode
Or disable it if you prefer to manually enter strikes later
2. Trade Execution (Live Tracking Mode)
Step 1 – Place the Trade with Your Broker
Use your brokerage (TOS, Tasty, IBKR, etc.) to place the iron condor or other structure
Step 2 – Set Mode = Live
In Live mode:
If Auto-Feed is ON, the Setup strikes auto-populate
If Auto-Feed is OFF, manually enter:
Short and long strikes (Call and Put)
Premiums collected/paid per leg
Total net credit (Entry Credit)
Optional: Input current mid prices for each leg in the "Live Chain" section to track live mark-to-market P&L
Once all required fields are valid, the script activates:
Real-time profit/loss tracking
Max risk estimate
Delta monitoring on short legs
IV Rank estimate
Breach detection system
Chart visuals (if enabled)
3. Trade Management (During the Week)
While the trade is active, use the dashboard and visuals to monitor:
Key Metrics:
Unrealized P/L %
Mark-to-market value vs entry credit
Daily decay (theta)
Days until expiration
Breach status:
In Range
Near Breach
Breached
Alerts:
Price near short strike → suggests roll
Price breaches long strike → breach alert
50% or 75% profit → optional exit signal
Delta exceeds threshold → exposure may need adjustment
Management Tips:
At 50–75% profit: consider closing early
If price nears a short leg: roll, hedge, or manage
If nearing expiry: decide whether to hold or close
If IV collapses: may accelerate time decay or reduce exit value
4. End-of-Week or Expiration Management
If Profit Target Hit
Close early to reduce risk and lock gains
If Still Open Near Expiry
Close the position or
Hold through expiration only if you're fully prepared for pinning/gamma/assignment scenarios
Avoid holding open spreads over the weekend unless part of a defined strategy
Reference Notes
Strike Width
Defined as:
Width = Distance between Short and Long strike
Used for calculating max loss and breach visuals
Delta Guidelines
0.15–0.20 = safer, wider range, lower credit
0.25–0.30 = more aggressive, tighter range, higher credit
Use Target Short Delta input to adjust auto-selected strikes accordingly
Credit Example
Sell Call: $1.04
Sell Put: $0.23
Buy Call + Put wings: $0.14
Net Credit = $1.13 = $113 per contract (max profit)
This is the max profit if price stays between short strikes through expiration
IV Rank (Estimated)
This script does not use options chain IV data.
Instead, it calculates a volatility proxy:
ivRaw = ta.stdev(log returns, 20) * sqrt(252)
IV Rank is then calculated as the percentile of this value within the last 252 bars.
High IV Rank (30%–100%) → better premium-selling conditions
Low IV Rank (<30%) → lower edge for condors
Ideal to sell premium when IV Rank is above 30–50%
Disclosures and Limitations
This script is for educational use only
It does not connect to live option chains
All strikes, deltas, and premiums must be validated through your broker
Always confirm real-time IV, delta, and pricing before placing a trade
Market Cap Landscape 3DHello, traders and creators! 👋
Market Cap Landscape 3D. This project is more than just a typical technical analysis tool; it's an exploration into what's possible when code meets artistry on the financial charts. It's a demonstration of how we can transcend flat, two-dimensional lines and step into a vibrant, three-dimensional world of data.
This project continues a journey that began with a previous 3D experiment, the T-Virus Sentiment, which you can explore here:
The Market Cap Landscape 3D builds on that foundation, visualizing market data—particularly crypto market caps—as a dynamic 3D mountain range. The entire landscape is procedurally generated and rendered in real-time using the powerful drawing capabilities of polyline.new() and line.new() , pushed to their creative limits.
This work is intended as a guide and a design example for all developers, born from the spirit of learning and a deep love for understanding the Pine Script™ language.
---
🧐 Core Concept: How It Works
The indicator synthesizes multiple layers of information into a single, cohesive 3D scene:
The Surface: The mountain range itself is a procedurally generated 3D mesh. Its peaks and valleys create a rich, textured landscape that serves as the canvas for our data.
Crypto Data Integration: The core feature is its ability to fetch market cap data for a list of cryptocurrencies you provide. It then sorts them in descending order and strategically places them onto the 3D surface.
The Summit: The highest point on the mountain is reserved for the asset with the #1 market cap in your list, visually represented by a flag and a custom emblem.
The Mountain Labels: The other assets are distributed across the mountainside, with their rank determining their general elevation. This creates an intuitive visual hierarchy.
The Leaderboard Pole: For clarity, a dedicated pole in the back-right corner provides a clean, ranked list of the symbols and their market caps, ensuring the data is always easy to read.
---
🧐 Example of adjusting the view
To evoke the feeling of flying over mountains
To evoke the feeling of looking at a mountain peak on a low plain
🧐 Example of predefined colors
---
🚀 How to Use
Getting started with the Market Cap Landscape 3D:
Add to Chart: Apply the "Market Cap Landscape 3D" indicator to your active chart.
Open Settings: Double-click anywhere on the 3D landscape or click the "Settings" icon next to the indicator's name.
Customize Your Crypto List: The most important setting is in the Crypto Data tab. In the "Symbols" text area, enter a comma-separated list of the crypto tickers you want to visualize (e.g., BTC,ETH,SOL,XRP ). The indicator supports up to 40 unique symbols.
> Important Note: This indicator exclusively uses TradingView's `CRYPTOCAP` data source. To find valid symbols, use the main symbol search bar on your chart. Type `CRYPTOCAP:` (including the colon) and you will see a list of available options. For example, typing `CRYPTOCAP:BTC` will confirm that `BTC` is a valid ticker for the indicator's settings. Using symbols that do not exist in the `CRYPTOCAP` index will result in a script error. or, to display other symbols, simply type CRYPTOCAP: (including the colon) and you will see a list of available options.
Adjust Your View: Use the settings in the Camera & Projection tab to rotate ( Yaw ), tilt ( Pitch ), and scale the landscape until you find a view you love.
Explore & Customize: Play with the color palettes, flag design, and other settings to make the landscape truly your own!
---
⚙️ Settings & Customization
This indicator is highly customizable. Here’s a breakdown of what each setting does:
#### 🪙 Crypto Data
Symbols: Enter the crypto tickers you want to track, separated by commas. The script automatically handles duplicates and case-insensitivity.
Show Market Cap on Mountain: When checked, it displays the full market cap value next to the symbol on the mountain. When unchecked, it shows a cleaner look with just the symbol and a colored circle background.
#### 📷 Camera & Projection
Yaw (°): Rotates the camera view horizontally (side to side).
Pitch (°): Tilts the camera view vertically (up and down).
Scale X, Y, Z: Stretches or compresses the landscape in width, depth, and height, respectively. Fine-tune these to get the perfect perspective.
#### 🏞️ Grid / Surface
Grid X/Y resolution: Controls the detail level of the 3D mesh. Higher values create a smoother surface but may use more resources.
Fill surface strips: Toggles the beautiful color gradient on the surface.
Show wireframe lines: Toggles the visibility of the grid lines.
Show nodes (markers): Toggles the small dots at each grid intersection point.
#### 🏔️ Peaks / Mountains
Fill peaks volume: Draws vertical lines on high peaks, giving them a sense of volume.
Fill peaks surface: Draws a cross-hatch pattern on the surface of high peaks.
Peak height threshold: Defines the minimum height for a peak to receive the fill effect.
Peak fill color/density: Customizes the appearance of the fill lines.
#### 🚩 Flags (3D)
Show Flag on Summit: A master switch to show or hide the flag and emblem entirely.
Flag height, width, etc.: Provides full control over the dimensions and orientation of the flag on the highest peak.
#### 🎨 Color Palette
Base Gradient Palette: Choose from 13 stunning, pre-designed color themes for the landscape, from the classic SUNSET_WAVE to vibrant themes like NEON_DREAM and OCEANIC .
#### 🛡️ Emblem / Badge Controls
This section gives you granular control over every element of the custom emblem on the flag. Tweak rotation, offsets, and scale to design your unique logo.
---
👨💻 Developer's Corner: Modifying the Core Logic
If you're a developer and wish to customize the indicator's core data source, this section is for you. The script is designed to be modular, making it easy to change what data is being ranked and visualized.
The heart of the data retrieval and ranking logic is within the f_getSortedCryptoData() function. Here’s how you can modify it:
1. Changing the Data Source (from Market Cap to something else):
The current logic uses request.security("CRYPTOCAP:" + syms.get(i), ...) to fetch market capitalization data. To change this, you need to modify this line.
Example: Ranking by RSI (14) on the Daily timeframe.
First, you'll need a function to calculate RSI. Add this function to the script:
f_getRSI(symbol, timeframe, length) =>
request.security(symbol, timeframe, ta.rsi(close, length))
Then, inside f_getSortedCryptoData() , find the `for` loop that populates the `caps` array and replace the `request.security` call:
// OLD LINE:
// caps.set(i, request.security("CRYPTOCAP:" + syms.get(i), timeframe.period, close))
// NEW LINE for RSI:
// Note: You'll need to decide how to format the symbol name (e.g., "BINANCE:" + syms.get(i) + "USDT")
caps.set(i, f_getRSI("BINANCE:" + syms.get(i) + "USDT", "D", 14))
2. Changing the Data Formatting:
The ranking values are formatted for display using the f_fmtCap() function, which currently formats large numbers into "M" (millions), "B" (billions), etc.
If you change the data source to something like RSI, you'll want to change the formatting. You can modify f_fmtCap() or create a new formatting function.
Example: Formatting for RSI.
// Modify f_fmtCap or create f_fmtRSI
f_fmtRSI(float v) =>
str.tostring(v, "#.##") // Simply format to two decimal places
Remember to update the calls to this function in the main drawing loop where the labels are created (e.g., str.format("{0}: {1}", crypto.symbol, f_fmtCap(crypto.cap)) ).
By modifying these key functions ( f_getSortedCryptoData and f_fmtCap ), you can adapt the Market Cap Landscape 3D to visualize and rank almost any dataset you can imagine, from technical indicators to fundamental data.
---
We hope you enjoy using the Market Cap Landscape 3D as much as we enjoyed creating it. Happy charting! ✨
TZtraderTZtrader
This is a TrendZones version with features to set stoploss and targets in short and long positions meant for use in intraday charts. It aims to provide signals for opening and closing long and short positions. In the comments under the TrendZones publication several people expressed a need for features for a short position similar to those for a long position as implemented in TrendZones, some want to use it for scalping, some asked for alerts. When I proposed to create a version for day trading with target lines based on ATR, several people liked the idea.
Full disclosure: I don’t do day trading, because, after I lost a lot of money, I had to promise my wife to stay away from it. I restrict myself to long term investing in stocks which are in uptrend. However I understand what a day trader needs. I gather from my experience that day trading or scalping is an attempt to earn something by opening a position in the morning and close, reopen and close it again during the day with a profit. It is usually done with leveraged instruments like CFD’s, futures, options, and what have you. Opening and closing positions is done within minutes, so the trader needs a quick and efficient way to set proper stoploss and target. TZtrader supports this by showing only three or four numbers on the price bar: The price of the instrument, The logical stop level (gray or green or maroon dots), and the target level (navy). All other numbers are suppressed to prevent mistakes. Also a clear feedback for current settings at the top-center of the pane and an alert feedback at bottom that flashes alerts during the development of the current bar and gives suppression status.
The script
First I made a bare bones version of TrendZones to which I added code for long and short trading setups and a bare setup for no position. The code for the logical stops in long setup had to be reviewed, after which this became the basis for stops in short setup.
Then I added code for 10 alert messages, which was a hassle, because this is the first time I coded alerts and the first time I used an array as a stack to avoid a complicated if-then construction. During testing the array caused a runtime error which I solved by adding ‘array.clear’ to the code, also I discovered that in TradingView separate alerts have to be created for all three setups - short, long and bare. Flipping setups is done in the inputs with a dropdown menu because Pine Script has no function for a clickable button.
One visual with three setups.
The visual has the TrendZones structure: Three near parallel very smooth curves, which border the moderate uptrend (green) and downtrend (orange) zone over and under the curve in the middle, the COG (Center Of Gravity). Where the price breaks out of these curves, strong trend zones show up over and under the curves, respectively strong uptrend (blue) and strong downtrend (red).
Three setups were made clearly different to avoid confusion and to provide oversight in case of multiple trades going on simultaneously which I imagine are monitored in one screen. You have to see which one is long, which short and which have no position. The long setup should not trigger short signals, nor should the short trigger long signals nor the bare setup exclusive long or short signals.
The Long setup is default, shown on the example chart. In this setup the Stoploss suggestions (green, gray and maroon dots) are under the price bars and the target line (navy) at a set distance above the High Border. A zone with a width of 1 ATR is drawn under the Low Border. In this setup 5 specific alerts are provided
The Short setup has the Stoploss suggestions over the price bars, the target line at a set distance under the Low Border. A zone with a width of 1 ATR is drawn above the High Border. This setup also has 5 specific alerts.
The Bare setup has no Stoploss suggestions, no target line and supports 4 alerts, 2 in common with the Long setup and 2 with Short.
The table below gives a summary of scripted alerts:
Setup = Where = When = Purpose
Long, Bare = Green Zone = Bars come from lower zones = Uptrend starts
Long, Bare = Green Zone = Sideways ends in uptrend = Uptrend resumes
Long = COG = First crossing = Uptrend might end warning
Long = Orange Zone = Bars come from higher zones = Uptrend ended take care
Long = Red Zone = Bars come from higher zones = Strong downtrend->close Long
Short, Bare = Orange Zone = Bars come from higher zones = Downtrend starts
Short, Bare = Orange Zone = Sideways ends in downtrend = Downtrend resumes
Short = COG = First crossing = Downtrend might end warning
Short = Green Zone = Bars come from lower zones = Downtrend ended take care
Short = Blue Zone = Bars come from lower zones = Strong uptrend -> close short
You can use script alerts in TradingView by clicking the clock in the sidebar, then ‘create alert’ or plus, as condition you choose ‘Tztrader’ in the dialog box, then the “Any alert() function call” option (the first item in the list). The script lets the valid alert trigger by TradingView after the bar is completed, this can differ from the flashed messages during its formation.
When you create alerts in Tradingview, I advice to do that for each setup, then to make only the alert active which matches the current setup, pause the other ones.
Suppressing false and annoying signals
The script has two ways to suppress such signals, which have to do with the numbers in the alert feedback. The numbers left and right of the message with a colored background, depict the zones in which the previous (left) and current (right) bar move. 1 is the strong downtrend zone (red), 2 the moderate downtrend zone (orange), 3 the sideways zones (gray), 4 the COG (gray), 5 the moderate uptrend zone (green), 6 the strong uptrend zone (blue), 7 something went wrong with assigning a zone (black). In extensive testing the number 7 never occurs, because I catch that error in the code. The idea is that an alert is only triggered if the previous bar was in a different zone. When the bars are in the same zone, no alert is possible. This way all annoying signals are suppressed and long, short and bare get the appropriate alerts.
The third number is a counter. It counts how often the COG is crossed without touching the outer curves. The counter will reset to zero when the upper or lower curve is touched. When the count is 1 you have zone situation 4 and appropriate alerts are flashed. When the count is 2 or higher, a sideways situation (3) is called and while the recrossings are going on, no alerts can be flashed. This suppresses false signals. The ATR zone and curves are brownish-gray where sideways happens(ed). When the channel is narrowed down to just the three curves, some false signals still might occur.
Inputs
“Setup”, default is long, drop down menu provides long, short and bare.
“Target ATR”, default is 2, sets the amount of ATR for the target line. In 1 minute charts 4 seems an appropriate setting, you have to learn by experience which setting works.
“show feedback …” default is on, This creates two feedback labels, a Setup feedback on top of the pane, which shows charted instrument, Setup type, Trend and timeframe of the chart. Background color of Trend feedback is green when it matches the setup, red when mismatches and gray when no match. The alert feedback at the bottom of the pane shows a number, a message and two numbers. The numbers will be explained in the chapter about false and annoying signals below. During formation of the bar, valid alerts are flashed with a blue background, otherwise the message ‘alerts for current bar suppressed’.
Logical Stops
The curves are the logical place to put stops, because, as these are averages of the high and low border of a Donchian channel, they signify the ‘natural’ current highest, lowest and main level in the lookback period that fit the monitored trend setup. A downtrend turns into an uptrend when a breakout of the upper curve occurs. If you are short, that is where you want to close position, so the logical place for the stoploss is the upper curve. Vice versa, when you are long, the logical stop is on the lower curve. The stops show up as green or gray dots on the curves, the green dots signify a nice entry level, the gray stops are there to suggest levels where unrealized profits might be secured, the maroon dots indicate that the trend mismatches the setup.
COG versus other lines
Any line used to identify a trend, be it some MA or some other line, is interpreted the same way: When the bars move above the line there is an uptrend and when below, a downtrend. COG is not different in that sense. If you put such a line in the same chart as TZtrader, you can see situations in which the other line shows uptrend or downtrend earlier than COG, also some other lines, e.g. Hull MA, are very good at showing tops and bottoms, while COG ignores these. On the other hand the other lines are usually a little nervous and let you shake out of position too soon. Just like the other lines, COG gives false signals when it is near horizontal. The advantage of the placement COG is the tolerance for pull backs. This way TZtrader keeps you longer in the trend. Such pull backs are often ‘flags’ which are interpreted in TA as confirming the trend. Tztrader aims to get you in position reasonably soon when a trend begins and out of position as soon as the trend turns against you. The placement of COG is done with a fundamentally different algorithm than other lines as it is not an average of prices, but the middle of two averages of borders of a Donchian channel. This gives the two zones between the curves the same quality as the two zones above and below the middle line of a standard Donchian Channel.
A multi timeframe application.
In this scenario you put a 5 minutes and 1 minute chart with Tztrader side by side. If the 5 minutes shows uptrend, set the 1 minute on long trading and open positions when the trend matches uptrend en close when it mismatches. Don’t open short positions. Once the 5 minute changes to downtrend, set Tztrader in the 1 minute to short trading and open positions when the trend matches downtrend and close when it mismatches.
The idea is that in a long ‘context’, provided by the 5 minutes, the uptrends in the 1 minute will last longer and go further, vice versa for the short ‘context’. This way you do swing trading in the 5 minute in a smart way, maximizing profits.
You can do this with any timeframe pairs with a proportion of around 5:1, 4:1, 6:1, like e.g. 60 minutes and 15 minutes or weeks and days (5 trading days in a week).
Dear day-traders, may this tool be helpful and may your days be blessed.
Take care
DR-SK A B C SK A B C - Target and Stop Loss Indicator for Trading
The "SK A B C" script is an advanced technical analysis tool designed to identify price targets and stop loss levels based on three input points (A, B, C) on the chart. The script calculates four potential targets (E, N, V, NT) based on the movement between the points, allowing for customization to suit different trading strategies. It also supports various stop loss methods, including Fixed Percentage, ATR-Based, and Swing High/Low.
Key Features:
Target Calculation (E, N, V, NT): The script calculates and displays potential targets (E, N, V, NT) based on the price movement between the input points (A, B, C).
Stop Loss Options:
Fixed Stop Loss: Based on a percentage of the price.
ATR-Based Stop Loss: Uses the Average True Range (ATR) for calculating the stop loss level.
Swing High/Low Stop Loss: Based on the most recent swing high or low.
Display Targets with Labels: Displays targets clearly on the chart, with options for price labels and boxes around the targets.
Full Customization: Customize colors, lines, and labels to fit your personal preferences.
Real-Time Alerts: Set up alerts to notify you when the price hits a target or stop loss level.
Summary Results Display: A table that shows the targets along with their prices and percentage distance from the current price.
How to Use the Script:
Set Input Points: Select three points (A, B, C) on the chart. The script will calculate the targets based on these points.
Choose Stop Loss Method: Select your preferred stop loss method (Fixed, ATR-Based, Swing High/Low).
Customize the Display: Customize the chart’s appearance by adjusting colors and other options.
Set Alerts: Enable alerts to be notified when the price reaches the targets or stop loss levels.
Notes:
The script follows basic technical analysis principles and helps traders accurately determine potential price targets using input points.
It provides flexibility through customizable stop loss methods and target options, making it a versatile and user-friendly tool.
FeraTrading Compression Flow v1🧠 Overview:
The FeraTrading Compression Flow v1 identifies moments in the market where volatility contracts and directional momentum builds beneath the surface. It detects when price compresses into a tight range, then confirms when momentum, volatility, and trend alignment combine to signal a high-probability breakout. Once all conditions are met, the indicator activates a persistent directional bias, shown visually with colored dynamic bands.
This isn’t just another squeeze or Bollinger-style compression indicator—it adds multi-layered confirmation logic and unique bias persistence mechanics, helping traders stay aligned with trend-based breakout phases rather than just spotting volatility drops.
⚙️ How It Works:
🔹 Volatility Compression Detection:
Uses a relative ATR filter to detect when the market is in contraction.
Compares short-term range behavior to a longer-term average using a customizable multiplier.
Avoids standard band-width logic (like BB/KC), instead relying on raw candle volatility for more adaptive compression detection.
🔹 Breakout Confirmation Logic:
A breakout is confirmed only when all of the following align:
Strong Candle Body: Filters out indecision bars and ensures clear directional intent.
EMA Trend Structure: Fast EMA must be properly aligned with the slow EMA, and price must close beyond the fast EMA in the breakout direction.
Range Burst: Breakout candle must exceed historical range norms, confirming an actual volatility expansion—not a false breakout.
Each layer is required—no single condition is enough—creating a highly selective confirmation system that filters out noise.
🔹 Bias Persistence Mechanism:
Once a valid breakout is confirmed, the script activates a persistent directional bias (bullish or bearish).
The bias does not flip unless an opposing breakout confirms.
This eliminates premature resets and allows traders to hold trend alignment visually until true reversal conditions are met.
🎨 Visual Behavior:
📈 Band Calculations:
Bands are drawn using smoothed highs and lows, plus or minus a scaled ATR-based buffer.
They adjust dynamically to both price scale and volatility, expanding and contracting naturally with the market.
🎨 Band Coloring:
Green bands = Bullish breakout confirmed
Red bands = Bearish breakout confirmed
No color = Compression detected, but no directional breakout yet
These are not support/resistance levels. They are momentum flow visualizations, providing a clean, unobtrusive way to track trend phases post-compression.
💡 What Makes It Unique:
Multi-confirmation logic: Combines compression, candle strength, trend direction, and volatility surge into one system.
Bias memory: Maintains directional bias until structurally invalidated—not just until the next indecisive bar.
Volatility-scaled bands: Makes this system flexible across all assets and timeframes, without constant tweaking.
No lagging oscillators: Instead of using MACD/RSI, it reads real-time momentum through body-to-range relationships and EMA stacking.
Minimal input, maximum output: With only two adjustable inputs, the script remains simple to deploy while offering deep contextual information.
✅ How to Use It:
Add the indicator to any chart (15m and lower preferred).
Watch for band color changes:
Green = Bullish breakout phase
Red = Bearish breakout phase
Use band direction as a trend alignment filter.
Avoid trading against active bias unless part of a confirmed reversal setup.
Adjust the Input Multiplier to fine-tune compression strictness (lower = stricter, higher = more permissive).
This indicator is especially useful following periods of consolidation and works well when layered with structure, supply/demand zones, or volume overlays.
💎 Why It’s Worth Paying For
The FeraTrading Compression Flow v1 offers a uniquely structured approach to breakout detection. While most compression indicators only highlight low-volatility zones, this script confirms breakouts through confluence, activates persistent bias, and provides a visual flow overlay that dynamically adjusts to the market.
Key distinctions include:
A custom ATR-based compression filter that adapts to any asset
Breakout confirmation from price structure, EMAs, and body dominance
A bias persistence engine that filters out false flips and maintains trend visibility
Dynamic bands that scale based on both price and volatility—not just moving averages
This combination cannot be replicated with built-in indicators or open-source scripts. It reflects real trade experience, structural logic, and volatility awareness built into a visual format designed to reduce overtrading and improve signal trust.
✅ Compliance & Originality
This script was built entirely in-house using original logic. Every calculation—from compression detection to bias activation—is proprietary and coded from scratch. No open-source libraries or reused components are present. Band rendering, bias conditions, and signal architecture were designed specifically for this model. EMA's and ATR were used in filter logic, yet they are only 2 of many filters used, all of the others being fully custom built.
The script uses no external data sources and is built entirely on native Pine Script logic.
⚠️ Risk Disclaimer & Access Policy
This tool is a visual momentum and structure tracking overlay. It does not predict future price movement and should not be used in isolation to make trading decisions. Always apply proper risk management, position sizing, and market awareness.
Past performance does not guarantee future results.
🔒 Why This Script Is Invite-Only and Closed-Source
The compression detection logic, multi-step breakout confirmation, and persistent bias engine represent proprietary intellectual property developed for high-clarity directional tracking.
Releasing this logic would expose the core detection methods to copycats and diminish its edge. Access is restricted to protect:
The custom compression logic
The confluence-based breakout filters
The bias state engine and dynamic band visualizations
Closed-source protection ensures this tool retains its uniqueness and value for serious traders.
Liquidity Sweep Trap Alert (Improved)Detects high-conviction “liquidity sweep” traps (false breakouts) by comparing price against recent swing highs/lows, applying a wick-size filter and a cooldown period so that only meaningful reversal wicks trigger signals.
Shows labels on the chart and provides alert conditions when a trap occurs.
How It Works (Core Concept)
Swing High / Low Sweep
The script looks back a user-defined number of bars (Lookback Period) to identify the most recent swing high and swing low (excluding the current forming bar).
A Bull Trap is identified when price’s high exceeds that swing high intrabar but the candle closes back below it.
A Bear Trap is identified when price’s low dips below that swing low intrabar but the candle closes back above it.
Wick-Size Filter
To avoid tiny “micro-sweeps,” the script measures the length of the reversal wick (the distance beyond the swing high or below the swing low) as a percentage of the bar’s total range.
Only if this wick percentage ≥ Min Wick/Range % does the raw trap condition qualify for further consideration.
Cooldown Mechanism
After a trap fires, the same type of trap (bull or bear) is suppressed for a specified number of bars (Cooldown Bars).
This prevents back-to-back signals in choppy conditions and ensures each trap has breathing room before the next.
Confirmed on Close
Signals only trigger once the bar has closed (barstate.isconfirmed), eliminating “ghost” signals that flash intrabar and then vanish.
Chart Labels & Alerts
When a trap is confirmed, a label (“Trap ↑” for bull, “Trap ↓” for bear) is plotted above/below the bar (toggleable via Show Trap Labels).
Built-in alertcondition calls allow users to create native TradingView alerts tied to these confirmed traps.
Inputs & Usage
Lookback Period (bars)
Defines how many bars back to compute the recent swing high/low.
Shorter values catch more frequent, smaller swings; longer values focus on larger pivots.
Show Trap Labels
Toggle on/off the on-chart label markers.
Cooldown Bars
Number of bars to wait after a trap fires before allowing the same trap type again.
Higher values reduce signal frequency; set lower if you want more frequent triggers.
Min Wick/Range %
Minimum required wick length (beyond the swing level) as a percentage of that bar’s high–low range.
Increase to filter out weak or noise-driven sweeps; decrease if you want to capture smaller reversals.
Recommended Settings & Markets
Timeframes: Works on any timeframe (e.g., 5m, 15m, 1h, daily). Adjust inputs per instrument volatility.
Crypto (e.g., BTC): Typical starting values might be Lookback = 10, Min Wick % = 0.10–0.20, Cooldown = 3–5 bars.
Equities / Indices (e.g., Nifty, Bank Nifty): Use higher Min Wick % (e.g., 0.30–0.50) and adjust volume-based filters externally. Cooldown may be 3–5 bars on daily charts.
Testing: Always backtest or visually review sample signals before live trading. Tune Lookback and Min Wick % to balance hit-rate vs. false positives.
Originality & What Makes It Different
Beyond Simple Breakout Alerts: Instead of alerting on any breakout, this indicator specifically looks for false breakouts (liquidity sweeps) where smart money may trap retail stops.
Wick-Size Threshold: Many scripts flag any high above a swing high; here, the reversal wick must be a configurable percentage of the bar’s range, filtering out minor spikes.
Cooldown Logic: Prevents repeated signals in tight ranges, unlike basic breakout or pivot indicators that may fire repeatedly.
Confirmed on Close: Eliminates intrabar flicker signals, ensuring each alert is based on a completed bar.
Lightweight & Self-Contained: No external dependencies; works standalone on the chart. Users can hook native TradingView alerts to these conditions.
How to Use
Add to Chart: Apply the published script; no need for additional overlays.
Configure Inputs: Open settings and set:
Lookback Period to match swing size you target.
Min Wick/Range % to filter out small reversals.
Cooldown Bars so signals aren’t clustered.
Toggle Show Trap Labels on/off.
Set Alerts: In TradingView Alerts, choose “Bull Trap Detected” or “Bear Trap Detected” as the condition.
Interpret Signals:
Bull Trap: Price tried to break above a recent high but failed—potential short opportunity or exit long.
Bear Trap: Price tried to break below a recent low but failed—potential long opportunity or exit short.
Combine with Risk Management: Always apply your own stop-loss and take-profit rules; use the trap signal as one element of your trade decision.
Chart Examples & Annotations
Clean Example Chart: Display only this indicator on the chart using default inputs or example settings.
Annotation Guidance: If you include manual drawings in screenshots, clearly explain:
“Red label marks the bar where price spiked above the 10-bar swing high, closed below it with wick ≥ 10% of range, and no prior bull trap in last 5 bars → Bull Trap.”
Avoid unrelated scripts or decorative drawings that aren’t described.
Disclaimer
Not Financial Advice: Signals indicate potential reversal setups but do not guarantee outcomes. Trade at your own risk.
Use Proper Risk Management: Always define stop-loss, position size, and consider market context.
Test Before Live: Review historical signals and backtest manually or via strategy tester if possible.
Enhanced TEMA with Decimal PeriodsImagine you have a special type of moving average line called a TEMA (Triple
Moving Average). A TEMA is designed to be even quicker to react to price changes than a regular EMA (Exponential Moving Average), helping traders spot trends faster.
What this script does:
Super-Precise TEMA Length:
Normally, when you set the "length" or "period" for a moving average, you use whole numbers (like 10 days, 20 days).
This script lets you be more precise and use decimal numbers for the TEMA's length (like 26.0 days, or even 26.7 days). This allows for very fine-tuning.
How it gets the "Decimal" EMA part (if you choose to use it):
If you want a TEMA with a length of, say, 26.7:
The script first needs to calculate EMAs with a length of 26.7.
To do this, it cleverly calculates two regular EMAs: one with a length of 26 and another with a length of 27 (the whole numbers just below and above 26.7).
Then, it blends these two EMAs. Since 26.7 is closer to 27, it takes more from the "27-period EMA" and a bit less from the "26-period EMA." This mix gives you an EMA that acts like it has a 26.7 period.
Building the TEMA:
A TEMA isn't just one EMA. It's made by taking an EMA of an EMA, and then an EMA of that. It's like smoothing the line multiple times, but in a special mathematical way to make it faster.
So, this script:
-Calculates the first "decimal EMA" (e.g., for 26.7).
-Calculates another "decimal EMA" of that first EMA line (again, using 26.7).
-Calculates a third "decimal EMA" of the second EMA line (still using 26.7).
Finally, it combines these three EMAs using a special TEMA formula to get the final, quick-reacting TEMA line.
Option to Switch Off Decimals:
There's a setting ("Use Decimal Periods"). If you turn this off, the script will just use regular whole-number EMAs to build the TEMA (it will round down your decimal input, so 26.7 would become 26).
Plotting:
The final "Enhanced TEMA" line is drawn on your price chart.
In Simple Terms:
This script gives you a TEMA (a fast-moving average) that you can set up with very precise decimal lengths (like 26.7 instead of just 26 or 27).
It does this "decimal magic" by smartly blending two regular EMAs. You can also choose to use it like a normal TEMA with whole numbers if you prefer. The goal is to give traders a very responsive trend-following line that can be fine-tuned to a high degree of precision.















